Python的三种方式显示图片

from PIL import Image

import numpy as np

im = Image.open("img.png")

#方法一:使用PIL库显示图片

a = np.array(im)

im=Image.fromarray(a)

im.show()

import matplotlib.pyplot as plt

#方法二:使用matplotlib库显示图片

plt.imshow(a)

plt.show()

#方法三:使用opencv库显示图片

import cv2

cv2.imshow("img",a)#显示图片

cv2.waitKey(0)#等待按键按下

cv2.destroyAllWindows()#关闭窗口

cv2.imshow("img",a)显示的照片颜色不对,可能是由于cv2plt读取图像时的像素格式不一致导致的。cv2读取的图像格式是BGR(蓝、绿、红),而plt读取的图像格式是RGB(红、绿、蓝)。

解决这个问题有以下几种方法:

  • 方法一 :使用cv2cvtColor函数将图像的颜色通道顺序转换为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.imageimread函数读取图像,然后使用plt.imshow显示图像。或者使用cv2.imread读取图像,然后使用cv2.imshow显示图像。

这些方法可以解决cv2.imshow("img",a)显示的照片颜色不对的问题。根据你的具体需求和代码环境,选择适合的方法即可。

相关推荐
2501_941111401 分钟前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
今天吃饺子16 分钟前
如何用MATLAB调用python实现深度学习?
开发语言·人工智能·python·深度学习·matlab
萧鼎24 分钟前
Python Mahotas 图像处理库:高性能计算机视觉工具
图像处理·python·计算机视觉
破烂pan29 分钟前
lmdeploy.pytorch 新模型支持代码修改
python·深度学习·llm·lmdeploy
麦麦大数据1 小时前
F047 vue3+flask微博舆情推荐可视化问答系统
python·flask·知识图谱·neo4j·推荐算法·舆情分析·舆情监测
MediaTea1 小时前
Python 第三方库:Flask(轻量级 Web 框架)
开发语言·前端·后端·python·flask
java干货2 小时前
Spring Boot 为什么“抛弃”了 spring.factories?
spring boot·python·spring
2501_941111822 小时前
使用Python进行网络设备自动配置
jvm·数据库·python
源码之家2 小时前
基于python租房大数据分析系统 房屋数据分析推荐 scrapy爬虫+可视化大屏 贝壳租房网 计算机毕业设计 推荐系统(源码+文档)✅
大数据·爬虫·python·scrapy·数据分析·推荐算法·租房