我的整体项目是利用YOLOV5实现目标检测,这次的问题出现在将检测结果显示到写好的GUI窗口上。用这种方法显示的视频结果很卡顿,不流畅。
def show_video_frame(self):
name_list = []
flag, img = self.cap.read() # 读取视频返回视频是否结束的bool值和每一帧的图像
if img is not None:
info_show = self.detect(name_list=name_list, img =img) # 检测结果写入到原始img上
self.vid_writer.write(img) # 检测结果写入视频
print(info_show)
self.text_create(info_show)
# 检测信息显示在界面
self.ui.textBrowser.setText(info_show)
show = cv2.resize(img, (640, 480)) # 直接将原始img上的检测结果进行显示
self.result = cv2.cvtColor(show, cv2.COLOR_BGR2RGB) # 把图片转换成何种格式
showImage = QtGui.QImage(self.result.data, self.result.shape[1], self.result.shape[0],
QtGui.QImage.Format_RGB888)
self.ui.label.setPixmap(QtGui.QPixmap.fromImage(showImage))
self.ui.label.setScaledContents(True) # 设置图像自适应界面大小
我看detect.py文件使用cv2处理的,结果就很好,视频非常流畅。
if view_img:
cv2.imshow(str(p), im0)
cv2.waitKey(1) # 1 millisecond
请问应该怎么修改第一段代码使结果更加流畅