我有一张灰度图,在python里以np array的二维数组形式存在(im_np),现在要用qimage在界面中显示,用这个函数
qimage = QImage(im_np, im_np.shape[1], im_np.shape[0],QImage.Format_Grayscale16)
格式用Format_Grayscale16或者其他格式都可以,大佬能教我一下吗感谢
我主要是不理解这里的im_np应该改为几维数组,通道是几?我理解灰度图应该就是二维的数组,通道是1呀,但输进去显示就是不对。Qimage这个函数中各种图像格式有什么规律?
将np array转PIL,然后PIL转QImage,示例如下:
# np array转PIL
from PIL import Image
import numpy as np
im = Image.open("/home/lw/a.jpg")
im.show()
img = np.array(im) # image类 转 numpy
img = img[:,:,0] #第1通道
im=Image.fromarray(img) # numpy 转 image类
im.show()
图片处理过程中经常需要将不同类型的图片对象互想转换,pyqt5中的QImage与PIL中的Image互转,借助于PIL中的ImageQt就行,简单一行代码搞定。
from PIL import Image, ImageQt
# QImage转Image
image = ImageQt.fromqimage(qimage)
# Image转QImage
qimage = ImageQt.ImageQt(image)
如有帮助,望采纳,谢谢
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632