百里不守约_45690024 2022-05-22 21:50 采纳率: 0%
浏览 358
已结题

PyQt5无法显示图片,如何解决?

问题遇到的现象和发生背景

使用PyQt5的label展示cv处理后的图片时,图片无法显示出来

问题相关代码,请勿粘贴截图

下面是主程序代码,要在Mainwindow.label上显示图片

import sys

from PIL import ImageQt, Image
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMainWindow
from PyQt5.QtGui import QPixmap
from UI.window import Ui_Form
from PyQt5 import QtCore
from Net.fasterrcnn import Net
import cv2
from PyQt5 import QtGui
import os


def cvImgtoQtImg(cvImg):  # 定义opencv图像转PyQt图像的函数
    qt_img = cv2.cvtColor(cvImg, cv2.COLOR_BGR2RGB)
    qt_img = QtGui.QImage(cvImg.data,  # 数据源
                          cvImg.shape[1],  # 宽度
                          cvImg.shape[0],  # 高度
                          cvImg.shape[1] * 3,  # 行字节数
                          QtGui.QImage.Format_RGB888)
    return QtGui.QPixmap.fromImage(qt_img)


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    Mainwindow = Ui_Form()
    mainwindow = QMainWindow()
    Mainwindow.setupUi(mainwindow)
    # pix = QPixmap("./1.jpeg").scaled(Mainwindow.label.width(), Mainwindow.label.height())
    # Mainwindow.label.setPixmap(pix)
    QtCore.QCoreApplication.addLibraryPath(os.path.join(os.path.dirname(QtCore.__file__), "plugins"))

    img = cv2.imread('1.png')
    # 图片转灰
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    # 实例化网络
    net = Net()
    img = net.get_img(img, gray)

下面是界面的代码


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(QtWidgets.QWidget):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(905, 809)
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(100, 50, 721, 631))
        self.label.setScaledContents(True)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.label.setText(_translate("Form", "Video"))
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月30日
    • 创建了问题 5月22日

    悬赏问题

    • ¥15 爬虫爬取网站的一些信息
    • ¥15 关于vue2中methods使用call修改this指向的问题
    • ¥15 idea自动补全键位冲突
    • ¥15 请教一下写代码,代码好难
    • ¥15 iis10中如何阻止别人网站重定向到我的网站
    • ¥15 滑块验证码移动速度不一致问题
    • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
    • ¥15 麒麟V10桌面版SP1如何配置bonding
    • ¥15 Marscode IDE 如何预览新建的 HTML 文件
    • ¥15 K8S部署二进制集群过程中calico一直报错