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栈类实例分析
Jun 15 Python
Django框架中方法的访问和查找
Jul 15 Python
Python常见格式化字符串方法小结【百分号与format方法】
Sep 18 Python
python利用Guetzli批量压缩图片
Mar 23 Python
python编写分类决策树的代码
Dec 21 Python
Sublime开发python程序的示例代码
Jan 24 Python
Python爬虫之UserAgent的使用实例
Feb 21 Python
在tensorflow中实现去除不足一个batch的数据
Jan 20 Python
TensorFlow——Checkpoint为模型添加检查点的实例
Jan 21 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
Python Excel vlookup函数实现过程解析
Jun 22 Python
什么是Python装饰器?如何定义和使用?
Apr 11 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 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
php遍历目录方法小结
2015/03/10 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
PHP反射实际应用示例
2019/04/03 PHP
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
jquery果冻抖动效果实现方法
2015/01/15 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
Python学习笔记(二)基础语法
2014/06/06 Python
python里将list中元素依次向前移动一位
2014/09/12 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
python里反向传播算法详解
2020/11/22 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
基于Python 函数和方法的区别说明
2021/03/24 Python
党员个人思想汇报
2013/12/28 职场文书
干部考核评语
2014/04/29 职场文书
实验室的标语
2014/06/20 职场文书
2014年个人委托书范本
2014/10/13 职场文书
2015年招聘工作总结
2014/12/12 职场文书
2015年小学生暑假总结
2015/07/13 职场文书