plt.imshow与cv2.imshow显示颜色问题
在用plt.imshow和cv2.imshow显示同一幅图时可能会出现颜色差别很大的现象。这是因为:
- opencv的接口使用BGR,而matplotlib.pyplot 则是RGB模式
- 下面代码cv2读入的是BGR模式,在opencv里面存储的是BGR,所以img用opencv输出就是正常颜色;
- 而matplotlib.pyplot是RGB模式,当用cv读入,直接用matplotlib.pyplot输出,颜色就变了,所以需要调整颜色的顺序,就变成了img2;
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显示结果
参考资料:http://stackoverflow.com/questions/15072736/extracting-a-region-from-an-image-using-slicing-in-python-opencv/15074748#15074748
转载:https://blog.csdn.net/cnnmena/article/details/79613531
plt.imshow与cv2.imshow显示颜色问题相关推荐
- python imshow彩色_python中plt.imshow与cv2.imshow显示颜色问题
在用plt.imshow和cv2.imshow显示同一幅图时可能会出现颜色差别很大的现象. 这是因为:opencv的接口使用BGR,而matplotlib.pyplot 则是RGB模式 import ...
- python灰度图cv2到plt变颜色_python中plt.imshow与cv2.imshow显示颜色问题
python中plt.imshow与cv2.imshow显示颜色问题 在用plt.imshow和cv2.imshow显示同一幅图时可能会出现颜色差别很大的现象. 这是因为:opencv的接口使用BGR ...
- Jupyter NoteBook 中使用 cv2.imshow 显示图片
Jupyter NoteBook 中使用 cv2.imshow 显示图片 有两种办法: 用 cv2.imshow时加入cv2.destroyAllWindows() 用 plt.imshow() 代替 ...
- 解决问题:使用cv2.imshow/plt.imshow显示图片正常,但保存下来的图片不正常或者全黑
今天遇到了一个Bug,花了很大的时间精力解决,在这里记录一下. Bug如题目所说,在对一张渲染出来的图片保存时,发现存成了全黑的图,尝试过将数据归一化/改变数据类型等等方式均失败,然而尝试了用 ope ...
- 【OpenCV 例程200篇】03. 图像的显示(cv2.imshow)
[OpenCV 例程200篇]03. 图像的显示(cv2.imshow) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新 ...
- matlab的imshow python中cv2.imshow及plt.imshow相关测试
在对灰度图.二值图测试显示过程中,发现matlab的imshow函数和plt.imshow函数显示的图像会出现信息缺失情况,让人误以为图像矩阵像素值发生变化.经过测试,是由于imshow函数存在像素缩 ...
- plt.imshow()中cmap参数控制颜色展示
plt.imshow()中cmap参数控制颜色展示 以A = [[0,1,2],[3,4,5],[6,7,8]]为例进行展示 plt.imshow(A, cmap="xxx")其中 ...
- cv2.imshow()显示图片未响应,以及cv2.imwrite()黑图问题
自己代码如下 def create_sample():# 训练标签数据csv转图片train_mask = pd.read_csv(TRAIN_MASK_DIR+"/train_mask.c ...
- cv2 imshow窗口大小_cv2.imshow()图片无法显示
在Pycharm和jupyter notebook中运行cv2.imshow()函数的时候,图片无法正常显示,是因为在运行cv2.imshow()之后,需要使用cv2.waitKey()来保持窗口的显 ...
- python窗口显示图片imread() imshow()_Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()
为什么使用Python-OpenCV? 虽然python 很强大,而且也有自己的图像处理库PIL,但是相对于OpenCV 来讲,它还是弱小很多.跟很多开源软件一样OpenCV 也提供了完善的pytho ...
最新文章
- VALSE 青年学者 | 心中的象牙塔:怎样才能拿到理想的教职offer?
- 锁类型_ sys.dm_os_wait_stats
- check的用法java,Java ValueRange checkValidValue()用法及代码示例
- Combo box的使用
- 真的不值得重视吗?ETH Zurich博士重新审视贝叶斯深度学习先验
- 【深度学习】通过python画出loss曲线
- Map-Reduce 思想在 ABAP 编程中的一个实际应用案例
- windows系统里懒人的福音,如何实现不按住ctrl实现文件多选
- Java I/O 扩展
- C++——size_t 和 size_type的区别
- 【RUST官方语言中文翻译】前言
- mysql +hive 安装
- React-引入图片的方法
- 80386的内存分页机制
- Server 2012 Log off 按键
- [No000014B]Office-PPT设置默认打开视图
- Oracle数据库学习
- python3安装cv2 安装opencv 2019发布
- 游戏音效是用什么软件做的?
- 微服务 细颗粒度的 soa