python中plt.imshow与cv2.imshow显示颜色问题
作者:Parallax 时间:2023-12-13 10:47:54
在用plt.imshow
和cv2.imshow
显示同一幅图时可能会出现颜色差别很大的现象。
这是因为:opencv的接口使用BGR,而matplotlib.pyplot
则是RGB模式
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('lena_std.tif')
b,g,r = cv2.split(img)
img2 = cv2.merge([r,g,b])
plt.subplot(121);plt.imshow(img)
plt.subplot(122);plt.imshow(img2)
plt.show()
cv2.imshow('bgr image',img)
cv2.imshow('rgb image',img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
程序运行结果如下:
Matplotlib显示结果
OpenCV显示结果
下面看下cv2.imshow()和plt.imshow()的区别
什么时候使用plt.show(),什么时候用cv2.imshow()?
如果需要展示读入的图像,或者展示对读入图像进行一系列操作后的图像时,使用cv2.imshow()
如果不需要展示原始图像,而是绘制一张新的图像,使用plt.imshow()
其实两者都可以,但要注意的是opencv是BGR通道,plt默认RGB通道,若使用cv2.imread()读入图像,用plt.imshow()展示原始图像或者展示对读入图像进行一系列操作后的图像时,需要进行通道转换。
在展示灰度图像时,cv2.imshow(‘gray', gray)
plt.imshow(gray,cmap=‘gray'), plt.title(‘gray')
来源:https://www.cnblogs.com/Henry-ZHAO/p/13321569.html
标签:plt.imshow,cv2.imshow,颜色
0
投稿
猜你喜欢
asp中把数据表映射成ajax可调用的json格式的方法
2010-01-22 15:27:00
Python 用户输入和while循环的操作
2023-07-22 22:17:33
java模拟ATM功能(控制台连接Mysql数据库)
2024-01-22 16:54:46
python爬虫爬取某站上海租房图片
2023-04-21 09:09:56
Linux 7下脚本安装配置oracle 11g r2教程
2024-01-13 13:35:56
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2021-05-27 09:57:52
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2022-11-13 00:12:24
JS本地刷新返回上一页代码
2023-08-06 13:59:57
pytorch 转换矩阵的维数位置方法
2021-05-21 03:48:15
php面象对象数据库操作类实例
2023-10-13 22:33:05
Python使用scrapy抓取网站sitemap信息的方法
2023-04-02 20:03:18
FrontPage2002简明教程三:网页布局
2008-09-17 11:19:00
SQL语言基本语句介绍
2008-07-24 13:32:00
python简单实现最大似然估计&scipy库的使用详解
2022-11-03 23:45:01
python通用数据库操作工具 pydbclib的使用简介
2024-01-24 14:24:16
实例分析python3实现并发访问水平切分表
2023-12-29 06:43:45
Python实现选择排序
2021-06-17 03:23:40
Python import导入上级目录文件的方法
2022-11-16 01:27:41
CSS 裸奔节
2009-04-09 19:36:00
WEB2.0网页制作标准教程(9)第一个CSS布局实例
2008-02-19 19:05:00