1. 直接将ndarray彩色图像转化为 QImage 对象:
colorimg = cv2.imdecode(np.fromfile(path, dtype=np.uint8), cv2.IMREAD_COLOR)
imgshow = cv2.cvtColor(colorimg, cv2.COLOR_BGR2RGB)
height, width, bytesPerComponent = imgshow.shape
bytesPerLine = bytesPerComponent * width
QImg = QImage(imgshow.data, width, height, bytesPerLine, QImage.Format_RGB888)
2. 先将彩色图片转化为灰度图像,再转化为QImage对象:
colorimg = cv2.imdecode(np.fromfile(path, dtype=np.uint8), cv2.IMREAD_COLOR)
img = cv2.cvtColor(colorimg, cv2.COLOR_BGR2GRAY)
bytesPerLine = width
QImg = QImage(img.data, width, height,width, QImage.Format_Indexed8)