gpt4 book ai didi

python - 我用opencv把图片转成灰度,怎么在pyqt4上显示图片?

转载 作者:太空宇宙 更新时间:2023-11-03 21:44:27 24 4
gpt4 key购买 nike

这是打开文件的 Action :

def file_open(self):
global img_raw

filename = QtGui.QFileDialog.getOpenFileName(self,
self.tr("Open Image"), ".",
self.tr("Image Files (*.jpg;*.bmp;*.png);;All Files (*)"))
#open the file

if not filename.isEmpty():
cvfilename = filename.toLocal8Bit().data()
#convert Qstrig to char*
img_raw = cv2.imread(cvfilename)
#read image with opencv

然后我使用 opencv 来转换图像:

def rgb2gray(self):
global img_gray, img_raw
img_gray = cv2.cvtColor(img_raw, cv2.COLOR_BGR2GRAY)
#image: RGB2Gray

这是我为显示图像而编写的代码:

    pixmap = QtGui.QPixmap.fromImage(image)
scaled_pixmap = pixmap.scaled(self.label2.size())
self.label2.setPixmap(scaled_pixmap)

如何在 label2 上显示 img_gray?

最佳答案

您的代码并不完整,所以我附上了一个可能有帮助的独立示例:

import cv2
import sys
from PySide import QtGui, QtCore
from threading import Thread


class MainWindow(QtGui.QMainWindow):
def __init__(self, cam=0, parent=None):
super(MainWindow, self).__init__(parent)

self.title = "Image"

widget = QtGui.QWidget()
self.layout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight)

self.image = QtGui.QLabel()

self.layout.addWidget(self.image)
self.layout.addStretch()

self.setCentralWidget(widget)
widget.setLayout(self.layout)

self.setMinimumSize(640, 480)
self.frame = cv2.imread("image.jpg")

try:
self.height, self.width = self.frame.shape[:2]

img = QtGui.QImage(self.frame, self.width, self.height, QtGui.QImage.Format_RGB888)
img = QtGui.QPixmap.fromImage(img)
self.image.setPixmap(img)

except:
pass

def closeEvent(self, event):
cv2.destroyAllWindows()
event.accept()


if __name__ == "__main__":
print cv2.__version__
print (sys.version)
app = QtGui.QApplication(sys.argv)
window = MainWindow(0)
window.show()
sys.exit(app.exec_())

关于python - 我用opencv把图片转成灰度,怎么在pyqt4上显示图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37284161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com