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缩进区别分析
Feb 15 Python
Python 自动补全(vim)
Nov 30 Python
Python 字符串与数字输出方法
Jul 16 Python
Python多线程模块Threading用法示例小结
Nov 09 Python
python如何实现DES加密
Sep 21 Python
Django缓存Cache使用详解
Nov 30 Python
python 使用OpenCV进行简单的人像分割与合成
Feb 02 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 Python
Django展示可视化图表的多种方式
Apr 08 Python
OpenCV-Python实现人脸美白算法的实例
Jun 11 Python
Python读写yaml文件
Mar 20 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 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
SONY ICF-SW55的电路分析
2021/03/02 无线电
简单实用的PHP防注入类实例
2014/12/05 PHP
php连接oracle数据库的核心步骤
2016/05/26 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
innerText 使用示例
2014/01/23 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
[08:40]Navi Vs Newbee
2018/06/07 DOTA
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
详解用python生成随机数的几种方法
2019/08/04 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
Tensorflow之MNIST CNN实现并保存、加载模型
2020/06/17 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
Python pip 常用命令汇总
2020/10/19 Python
集体婚礼证婚词
2014/01/13 职场文书
个人自我评价和职业目标
2014/01/24 职场文书
小学教学随笔感言
2014/02/26 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
精神文明单位申报材料
2014/05/02 职场文书
担保书格式范文
2015/09/22 职场文书
党组织结对共建协议书
2016/03/23 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
Java 数据结构七大排序使用分析
2022/04/02 Java/Android