处理opencv里用plt显示imread读取图像偏色问题

  • 摘要
  • 代码
  • 看看结果:
  • 原因:
  • 解决方法:
  • 看看结果

摘要

使用opecv过程中经常需要使用plt输出图片作为前后对比,方便观察。
但是会出现plt显示时,颜色偏差严重的情况。
这是因为plt和imread二者颜色通道不同导致。

先看看图片

代码

首先通过imread读入源图并显示。

import cv2   as  cv
import numpy as np
import copy
import random
from matplotlib import pyplot as plt
# cv.imread 读取图像格式为b,g,r
img = cv.imread('1.jpg')

然后 采用plt方法进行显示。
把imread生成的img使用plt输出。

plt.imshow(img)
plt.show()

看看结果:


出现了色差

原因:

cv.imread 读取图像格式为b,g,r
但是 plt显示按照 rgb次序!因此要转换一下。

解决方法:

加入下面的代码

b,g,r = cv.split(img)
img_rgb = cv.merge([r,g,b])
import cv2   as  cv
import numpy as np
import copy
import random
from matplotlib import pyplot as plt
# cv.imread 读取图像格式为b,g,r
img = cv.imread('1.jpg')#如果本身是彩图 似乎也没什么影响!
#plt显示按照 rgb次序!因此要转换
b,g,r = cv.split(img)
img_rgb = cv.merge([r,g,b])plt.imshow(img_rgb)
plt.show()

看看结果

处理opencv里用plt显示imread读取图像偏色问题相关推荐

  1. Image.open和cv2.imread读取图像的区别,及改变图像分辨率

    目录 需求 图像的读取 两者区别 两者相互转换 具体需求代码 需求 需要对一些图片做图像处理,但是原数据图像太大了(2700x2500左右),实际的处理过程中并不需要这么高的分辨率,所以需要对数据进行 ...

  2. cv2.imread读取图像结果none_keras遥感图像Unet语义分割(支持多波段amp;多类)

    前言 网上其实有好多unet的教程,但是大多不支持多波段(遥感图像除了RGB波段还有红外等其他波段),多类别的话标签做onehot编码的时候类别颜色要手动输入.针对这两个问题,今天写下这篇文字. 有问 ...

  3. cv2.imread读取图像结果none_python cv2.imread 读取中文路径的图片返回为None的问题

    此篇文章首发于我的csdn博客,见原文链接. 使用cv2读取图片是常见的事情,但如果,输出图片形状大小时出现报错" 'NoneType' object has no attribute sh ...

  4. cv2.imread读取图像结果none_PyTorch 42.图像操作

    本文转载自: 知乎用户​www.zhihu.com 1. 读取训练集 pytorch读取训练集是非常便捷的,只需要使用到2个类: (1)torch.utils.data.Dataset (2)torc ...

  5. [转载] python+opencv4读取图像

    参考链接: Python Opencv 基础 1: imread 读取图像 1安装opencv 2安装jupyter Notebook 1读取图片 import cv2 #opencv读取的格式是BG ...

  6. 读取图像,显示图像,输出图像像素矩阵

    方法一:使用matplotlib import matplotlib import matplotlib.pyplot as plt #显示图像 from matplotlib.image impor ...

  7. python读取图像的方法总结

    以读取下面的图片为例:(其中前两种方法是我自己常用的方法) 1. 利用python图像处理类库PIL(Python Imaging Library)中的Image函数. import numpy as ...

  8. 图像位深度 8位 16位 24位 32位区别对比 RGB 真彩色 基本概念:(大小,深度,通道)位深度数据类型转换原理 Mat数据读取(opencv里的imread)

    位深度 位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的二进制数值位数来表示的.计算机之所以能够显示颜色,是采用了一种称作"位"( bit ) 的记数单位来记录所表 ...

  9. C++ opencv 4.5 imread() 读取图片,显示为空的解决办法

    C++ opencv 4.5 imread() 读取图片,显示为空的解决办法 一.路径问题 先查看下路径问题,如果使用的是相对路径,先查看下当前路径,判断输入的路径是否有错: #include < ...

最新文章

  1. 【组队学习】【33期】吃瓜教程——西瓜书+南瓜书
  2. gcc8之前,coredump文件无法显示正确的函数调用栈信息
  3. Android开发一 什么是3G
  4. 另一种同步软件Unison的使用方法
  5. dwf怎么合成一个_PC-3000 Data Extractor如何将一系列Bin文件合并为一个镜像文件
  6. 声卡是HDA Intel,芯片为IDT 92HD81B1C5的ubuntu12.04下声音很小的解决方法
  7. python中一元二次方程的判别式_【Python算法作业】解一元二次方程
  8. 5.3 定积分的换元积分法和分部积分法
  9. python实验四_实验四 · Python程序设计/20193117whm - Gitee.com
  10. linux wps 文件关联,WPS文件扩展名 - 什么是.wps以及如何打开? - ReviverSoft
  11. 计算机玩游戏代码,给计算机学院的学幼们贴一些游戏代码
  12. java中原子变量AtomicInteger等用法
  13. unity3d培训_001
  14. 关于WIN10装CH340驱动的一些小小的注意事项
  15. windows 10系统下Nexus的下载安装
  16. JESD204接口调试总结——JESD204C协议的介绍
  17. MySQL索引原理,设计原则
  18. 天泉湖酒店式养生社区服务中心漏电火灾监控系统的设计与应用
  19. linux不需要磁盘碎片整理!
  20. 微机原理与接口技术:DMA传输 详细笔记

热门文章

  1. Iptables 中文说明书
  2. 红帽权限设置及提权知识点结合
  3. weblogic配置gbase数据源
  4. Animoca Brands 将收购《Life Beyond》的独立游戏开发商 Darewise
  5. windows双路由怎么配置
  6. ubuntu20.04部署gitlab教程并汉化
  7. linux中top指令,Linux下top命令详解
  8. intro是啥意思_outro 和intro是什么意思啊?
  9. css超出显示...
  10. 自动驾驶记忆泊车HAVP功能设计