1、由于cv2.imread读取到图像后,图像彩色的组织顺序是‘BGR’的,面QImage的顺序是‘RGB’。所以首先要做一下顺序调整:
cv2ImageBGR = cv2.imread('ImageName.jpg')
cv2ImageRGB = cv2.CvtColor(cv2ImageBGR, cv2.COLOR_BGR2RGB)#变换彩色空间顺序
2、第二步工作要利用cv2ImageRGB.data的data属性:
qimg = QtGui.QImage(cv2ImageRGB .data,cv2ImageRGB .shape[1], cv2ImageRGB .shape[0], QtGui.QImage.Format_RGB888)
这里的shape[1]其实就是图像的width,而shape[0]就是height了。这样就顺利地转换为QImage的对象了。
原文链接