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 08 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
使用Django启动命令行及执行脚本的方法
May 29 Python
Python中交换两个元素的实现方法
Jun 29 Python
python中时间模块的基本使用教程
May 14 Python
关于Python形参打包与解包小技巧分享
Aug 24 Python
Django REST 异常处理详解
Jul 15 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 Python
用Python的绘图库(matplotlib)绘制小波能量谱
Apr 17 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 Python
如何利用python实现Simhash算法
Jun 28 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扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
通过PHP简单实例介绍文件上传
2015/12/16 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
js实现微博发布小功能
2017/01/12 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
React Native 图片查看组件的方法
2018/03/01 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
vue使用echarts图表的详细方法
2018/10/22 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
Django实现跨域的2种方法
2019/07/31 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
澳大利亚珍珠首饰购物网站:Vayo Pearls
2019/03/11 全球购物
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
2014年城管个人工作总结
2014/12/08 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
Java 数组的使用
2022/05/11 Java/Android
Nginx 匹配方式
2022/05/15 Servers