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 相关文章推荐
Python中使用摄像头实现简单的延时摄影技术
Mar 27 Python
Python实现的彩票机选器实例
Jun 17 Python
使用Python来开发Markdown脚本扩展的实例分享
Mar 04 Python
python实现批量nii文件转换为png图像
Jul 18 Python
Python类中方法getitem和getattr详解
Aug 30 Python
Python之——生成动态路由轨迹图的实例
Nov 22 Python
PyCharm 无法 import pandas 程序卡住的解决方式
Mar 09 Python
python golang中grpc 使用示例代码详解
Jun 03 Python
JAVA SWT事件四种写法实例解析
Jun 05 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
Jun 29 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
Aug 03 Python
pandas 数据类型转换的实现
Dec 29 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从数据库查询结果生成树形列表的方法
2015/04/17 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
Javascript的并行运算实现代码
2010/11/19 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
2015/10/22 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
详谈js模块化规范
2017/07/07 Javascript
React中的render何时执行过程
2018/04/13 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
vue实现添加与删除图书功能
2018/10/07 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
2020/03/02 Python
python3.4中清屏的处理方法
2020/07/06 Python
Python json格式化打印实现过程解析
2020/07/21 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
大三自我鉴定范文
2013/10/05 职场文书
事业单位请假制度
2014/01/13 职场文书
文明之星事迹材料
2014/05/09 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
Python中字符串对象语法分享
2022/02/24 Python
德劲DE1102数字调谐收音机机评
2022/04/07 无线电