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)显示的照片颜色不对的问题。根据你的具体需求和代码环境,选择适合的方法即可。

相关推荐
ID_180079054732 小时前
基于 Python 的 Cdiscount 商品详情 API 调用与 JSON 核心字段解析(含多规格 SKU 提取)
开发语言·python·json
Q_Q5110082852 小时前
python+django/flask+vue的大健康养老公寓管理系统
spring boot·python·django·flask·node.js
我是哈哈hh3 小时前
【Python数据分析】Numpy总结
开发语言·python·数据挖掘·数据分析·numpy·python数据分析
Michelle80233 小时前
24大数据 14-2 函数练习
开发语言·python
qq_381454993 小时前
Python学习技巧
开发语言·python·学习
Ndmzi3 小时前
Matlab编程技巧:自定义Simulink菜单(理解补充)
前端·javascript·python
dagouaofei3 小时前
AI生成个性化年终总结PPT
人工智能·python·powerpoint
white-persist5 小时前
VSCode 快捷键大全:从设计理念到场景化高效运用(详细解析)(文章末尾有vim快捷键大全)
linux·ide·vscode·python·编辑器·系统安全·vim
liliangcsdn5 小时前
python threading异步并发调用示例
python
计算机毕设匠心工作室5 小时前
【python大数据毕设实战】全面皮肤病症状数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学
后端·python·mysql