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语言描述随机梯度下降法
Jan 04 Python
浅谈numpy库的常用基本操作方法
Jan 09 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
如何优雅地处理Django中的favicon.ico图标详解
Jul 05 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
Oct 21 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
不到40行代码用Python实现一个简单的推荐系统
May 10 Python
python打包成so文件过程解析
Sep 28 Python
Python log模块logging记录打印用法解析
Jan 20 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
Python系统公网私网流量监控实现流程
Nov 23 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
深入apache host的配置详解
2013/06/09 PHP
js post方式传递提交的实现代码
2010/05/31 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
Python+MongoDB自增键值的简单实现
2016/11/04 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
2018/02/08 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
python模块常用用法实例详解
2019/10/17 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
Python *args和**kwargs用法实例解析
2020/03/02 Python
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
四种会话跟踪技术
2015/05/20 面试题
基层党支部公开承诺书
2014/05/29 职场文书
公民授权委托书范本
2014/09/17 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
英语教师个人总结
2015/02/09 职场文书
律师函格式范本
2015/05/27 职场文书