读取 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.graphicsView = QGraphicsView(self.centralwidget)
|
||||
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.setObjectName(u"textBrowser")
|
||||
self.textBrowser.setGeometry(QRect(880, 80, 281, 291))
|
||||
@ -71,24 +71,48 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
def __init__(self):
|
||||
super(MainWindow, self).__init__()
|
||||
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.graphicsView.setScene(self.scene)
|
||||
self.graphicsView.show()
|
||||
|
||||
video = Video(video_dir)
|
||||
img = video.read(3)
|
||||
self.video = Video(video_dir)
|
||||
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
|
||||
y, x = img.shape[:-1]
|
||||
frame = QImage(cvimg, x, y, QImage.Format_RGB888)
|
||||
self.scene.clear() #先清空上次的残留
|
||||
self.pix = QPixmap.fromImage(frame)
|
||||
self.scene.addPixmap(self.pix)
|
||||
|
||||
text = "帧数:"+"{:06d}".format(frame_num)+"\n操作:"
|
||||
method = self.mark.get_method(method_raw)
|
||||
for i in method:
|
||||
text += "\n" + i
|
||||
self.textBrowser.setText(text)
|
||||
self.textBrowser.show()
|
||||
|
||||
def left(self):
|
||||
pass
|
||||
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__':
|
||||
app = QApplication(sys.argv)
|
||||
|
@ -41,6 +41,7 @@ class Video:
|
||||
return img
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
class Mark:
|
||||
def __init__(self, mark_dir, sheet_name):
|
||||
@ -57,6 +58,17 @@ class Mark:
|
||||
return (int(rt[0]), line[self.method[0]:])
|
||||
else:
|
||||
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__":
|
||||
|
Loading…
x
Reference in New Issue
Block a user