python中plt.imshow与cv2.imshow显示颜色问题


Posted in Python onJuly 16, 2020

在用plt.imshowcv2.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显示结果

python中plt.imshow与cv2.imshow显示颜色问题

OpenCV显示结果

python中plt.imshow与cv2.imshow显示颜色问题

下面看下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')

到此这篇关于plt.imshow与cv2.imshow显示颜色问题的文章就介绍到这了,更多相关plt.imshow与cv2.imshow显示颜色内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
php使用递归与迭代实现快速排序示例
Jan 23 Python
python读写ini文件示例(python读写文件)
Mar 25 Python
编写Python脚本来获取mp3文件tag信息的教程
May 04 Python
八大排序算法的Python实现
Jan 28 Python
详解Python判定IP地址合法性的三种方法
Mar 06 Python
Django中Model的使用方法教程
Mar 07 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
Jun 14 Python
Django 实现前端图片压缩功能的方法
Aug 07 Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 Python
Django Form常用功能及代码示例
Oct 13 Python
python dir函数快速掌握用法技巧
Dec 09 Python
Python中zipfile压缩包模块的使用
May 14 Python
Python实现GIF图倒放
Jul 16 #Python
浅谈python处理json和redis hash的坑
Jul 16 #Python
Python requests及aiohttp速度对比代码实例
Jul 16 #Python
Python3 搭建Qt5 环境的方法示例
Jul 16 #Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 #Python
Python必须了解的35个关键词
Jul 16 #Python
Python子进程subpocess原理及用法解析
Jul 16 #Python
You might like
php木马攻击防御之道
2008/03/24 PHP
url decode problem 解决方法
2011/12/26 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
PHP错误处理函数
2016/04/03 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
Jquery实现弹性滑块滑动选择数值插件
2015/08/08 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
python 网络编程详解及简单实例
2017/04/25 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
Python线上环境使用日志的及配置文件
2019/07/28 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
中国旅游网站:同程旅游
2016/09/11 全球购物
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
商务会议邀请函
2014/01/09 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
表扬通报怎么写
2015/01/16 职场文书
《春酒》教学反思
2016/02/22 职场文书
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js