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 yield使用方法示例
Dec 04 Python
python使用BeautifulSoup分析网页信息的方法
Apr 04 Python
Python Web框架Tornado运行和部署
Oct 19 Python
常见python正则用法的简单实例
Jun 21 Python
Python学习笔记之解析json的方法分析
Apr 21 Python
python多维数组切片方法
Apr 13 Python
使用TensorFlow实现SVM
Sep 06 Python
python utc datetime转换为时间戳的方法
Jan 15 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 Python
python实现最短路径的实例方法
Jul 19 Python
python实现canny边缘检测
Sep 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中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
网页挂马方式整理及详细介绍
2016/11/03 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
微信小程序反编译的实现
2020/12/10 Javascript
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
详解Python中的Descriptor描述符类
2016/06/14 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
工商管理应届生求职信
2013/10/07 职场文书
销售助理岗位职责
2014/02/21 职场文书
大学专科求职信
2014/07/02 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
2015小学师德工作总结
2015/07/21 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
《废话连篇——致新手》——chinapizza
2022/04/05 无线电
Pandas 数据编码的十种方法
2022/04/20 Python