读取 with ui
This commit is contained in:
parent
d1689b13a3
commit
42a5b65af8
@ -34,7 +34,7 @@ class Ui_MainWindow(object):
|
|||||||
self.pushButton_2.setGeometry(QRect(1020, 400, 141, 81))
|
self.pushButton_2.setGeometry(QRect(1020, 400, 141, 81))
|
||||||
self.graphicsView = QGraphicsView(self.centralwidget)
|
self.graphicsView = QGraphicsView(self.centralwidget)
|
||||||
self.graphicsView.setObjectName(u"graphicsView")
|
self.graphicsView.setObjectName(u"graphicsView")
|
||||||
self.graphicsView.setGeometry(QRect(0, 0, 871, 641))
|
self.graphicsView.setGeometry(QRect(0, 0, 871, 700))
|
||||||
self.textBrowser = QTextBrowser(self.centralwidget)
|
self.textBrowser = QTextBrowser(self.centralwidget)
|
||||||
self.textBrowser.setObjectName(u"textBrowser")
|
self.textBrowser.setObjectName(u"textBrowser")
|
||||||
self.textBrowser.setGeometry(QRect(880, 80, 281, 291))
|
self.textBrowser.setGeometry(QRect(880, 80, 281, 291))
|
||||||
@ -71,15 +71,25 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(MainWindow, self).__init__()
|
super(MainWindow, self).__init__()
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
self.pushButton.addAction(self.left())
|
|
||||||
|
self.pushButton.clicked.connect(self.left_frame)
|
||||||
|
self.pushButton_2.clicked.connect(self.right_frame)
|
||||||
|
|
||||||
self.scene = QGraphicsScene()
|
self.scene = QGraphicsScene()
|
||||||
self.graphicsView.setScene(self.scene)
|
self.graphicsView.setScene(self.scene)
|
||||||
self.graphicsView.show()
|
self.graphicsView.show()
|
||||||
|
|
||||||
video = Video(video_dir)
|
self.video = Video(video_dir)
|
||||||
img = video.read(3)
|
self.mark = Mark(mark_dir,"王传林")
|
||||||
|
self.max_mark = self.mark.max_frame()
|
||||||
|
|
||||||
|
self.now = 0
|
||||||
|
self.show_frame()
|
||||||
|
|
||||||
|
|
||||||
|
def show_frame(self):
|
||||||
|
frame_num, method_raw = self.mark.read(self.now)
|
||||||
|
img = self.video.read(frame_num)
|
||||||
cvimg = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # 把opencv 默认BGR转为通用的RGB
|
cvimg = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # 把opencv 默认BGR转为通用的RGB
|
||||||
y, x = img.shape[:-1]
|
y, x = img.shape[:-1]
|
||||||
frame = QImage(cvimg, x, y, QImage.Format_RGB888)
|
frame = QImage(cvimg, x, y, QImage.Format_RGB888)
|
||||||
@ -87,8 +97,22 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
self.pix = QPixmap.fromImage(frame)
|
self.pix = QPixmap.fromImage(frame)
|
||||||
self.scene.addPixmap(self.pix)
|
self.scene.addPixmap(self.pix)
|
||||||
|
|
||||||
def left(self):
|
text = "帧数:"+"{:06d}".format(frame_num)+"\n操作:"
|
||||||
pass
|
method = self.mark.get_method(method_raw)
|
||||||
|
for i in method:
|
||||||
|
text += "\n" + i
|
||||||
|
self.textBrowser.setText(text)
|
||||||
|
self.textBrowser.show()
|
||||||
|
|
||||||
|
def left_frame(self):
|
||||||
|
if self.now > 0:
|
||||||
|
self.now -= 1
|
||||||
|
self.show_frame()
|
||||||
|
|
||||||
|
def right_frame(self):
|
||||||
|
if self.now < self.max_mark - 1:
|
||||||
|
self.now += 1
|
||||||
|
self.show_frame()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
|
@ -42,6 +42,7 @@ class Video:
|
|||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
class Mark:
|
class Mark:
|
||||||
def __init__(self, mark_dir, sheet_name):
|
def __init__(self, mark_dir, sheet_name):
|
||||||
self.df = pd.read_excel(mark_dir, sheet_name=sheet_name)
|
self.df = pd.read_excel(mark_dir, sheet_name=sheet_name)
|
||||||
@ -58,6 +59,17 @@ class Mark:
|
|||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def max_frame(self):
|
||||||
|
return self.total_frame
|
||||||
|
|
||||||
|
def get_method(self, raw):
|
||||||
|
method = []
|
||||||
|
NaN = pd.isnull(raw)
|
||||||
|
for i in range(len(raw)):
|
||||||
|
if not NaN.iloc[i]:
|
||||||
|
method.append(self.method[i])
|
||||||
|
return method
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
video_dir = "raw/video/王传林.mp4"
|
video_dir = "raw/video/王传林.mp4"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user