栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

QImage构造函数具有未知的关键字data

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QImage构造函数具有未知的关键字data

它们所指示的是需要将数据作为参数,而不是将关键字称为data,以下方法将numpy / opencv图像转换为QImage:

from PyQt5.QtGui import QImage, qRgbimport numpy as npimport cv2gray_color_table = [qRgb(i, i, i) for i in range(256)]def NumpyToQImage(im):    qim = QImage()    if im is None:        return qim    if im.dtype == np.uint8:        if len(im.shape) == 2: qim = QImage(im.data, im.shape[1], im.shape[0], im.strides[0], QImage.Format_Indexed8) qim.setColorTable(gray_color_table)        elif len(im.shape) == 3: if im.shape[2] == 3:     qim = QImage(im.data, im.shape[1], im.shape[0], im.strides[0], QImage.Format_RGB888) elif im.shape[2] == 4:     qim = QImage(im.data, im.shape[1], im.shape[0], im.strides[0], QImage.Format_ARGB32)    return qimimg = cv2.imread('/path/of/image')qimg = NumpyToQImage(img)assert(not qimg.isNull())

或者您可以使用qimage2ndarray库

当使用索引裁剪图像时,仅修改

shape
而不是
data
,解决方案是进行复制

img = cv2.imread('/path/of/image')img = np.copy(img[200:500, 300:500, :]) # copy imageqimg = NumpyToQImage(img)assert(not qimg.isNull())


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650908.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号