找回密码
 会员注册
查看: 26|回复: 0

Python的三种方式显示图片

[复制链接]

5

主题

0

回帖

16

积分

新手上路

积分
16
发表于 2024-9-9 12:07:32 | 显示全部楼层 |阅读模式
fromPILimportImageimportnumpyasnpim=Image.open("img.png")#方法一:使用PIL库显示图片a=np.array(im)im=Image.fromarray(a)im.show() importmatplotlib.pyplotasplt#方法二:使用matplotlib库显示图片plt.imshow(a)plt.show()#方法三:使用opencv库显示图片importcv2cv2.imshow("img",a)#显示图片cv2.waitKey(0)#等待按键按下cv2.destroyAllWindows()#关闭窗口 cv2.imshow("img",a)显示的照片颜色不对,可能是由于cv2和plt读取图像时的像素格式不一致导致的。cv2读取的图像格式是BGR(蓝、绿、红),而plt读取的图像格式是RGB(红、绿、蓝)。解决这个问题有以下几种方法:方法一:使用cv2的cvtColor函数将图像的颜色通道顺序转换为RGB。可以使用以下代码将cv2读取的图像转换为RGB格式:img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)方法二:如果坚持使用cv2.imread读取图像,plt.imshow显示图像,可以利用原理来解决。cv2读取的是BGR,那么把它转化成顺序为RGB的格式,就可以用plt.imshow显示成正确的颜色。可以使用以下代码将BGR格式的图像转换为RGB格式:b,g,r=cv2.split(image)image_rgb=cv2.merge((r,g,b))方法三:使用对应的读取与显示图像方式。可以使用matplotlib.image的imread函数读取图像,然后使用plt.imshow显示图像。或者使用cv2.imread读取图像,然后使用cv2.imshow显示图像。这些方法可以解决cv2.imshow("img",a)显示的照片颜色不对的问题。根据你的具体需求和代码环境,选择适合的方法即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 06:02 , Processed in 0.413805 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表