34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
import cv2
|
|
from PIL.ImageQt import QImage, QPixmap
|
|
|
|
|
|
def cv2_to_qpixmap(cv_img):
|
|
"""将OpenCV图像转换为QPixmap"""
|
|
height, width, channel = cv_img.shape
|
|
bytes_per_line = 3 * width
|
|
q_img = QImage(cv_img.data, width, height, bytes_per_line, QImage.Format_RGB888)
|
|
return QPixmap.fromImage(q_img)
|
|
|
|
# def cv2_to_qpixmap(cv_img):
|
|
# """将OpenCV图像转换为QPixmap"""
|
|
# if len(cv_img.shape) !=3:
|
|
# print("cv_img.shape !=3")
|
|
# return None
|
|
# try:
|
|
# img = cv_img.copy()
|
|
# height, width, channel = img.shape
|
|
# bytes_per_line = 3 * width
|
|
# q_img = QImage(img.data, width, height, bytes_per_line, QImage.Format_RGB888)
|
|
# return QPixmap.fromImage(q_img)
|
|
# except Exception as e:
|
|
# log.log_message(logging.ERROR, e)
|
|
# return None
|
|
|
|
|
|
# def cv2_to_qpixmap(cv_img):
|
|
# #g = cv2.cvtColor(cv_img, cv2.COLOR_BGR2RGB)
|
|
# height, width, channel = cv_img.shape
|
|
# bytes_per_line = 3 * width
|
|
# q_img = QImage(cv_img.data, width, height, bytes_per_line, QImage.Format_RGB888)
|
|
# return QPixmap.fromImage(q_img)
|