目录

  • 方法一
  • 方法二

使用OpenCV加载图像时,默认使用BGR的格式,而使用matplotlib显示图像时又采用RGB的格式,因此显示图像时,会显得非常奇怪。

如以一张船的照片为例,原图如下:


使用OpenCV进行读取:

import cv2
import matplotlib.pyplot as plt
import numpy as np
ship_BGR = cv2.imread('ship.jpg',cv2.IMREAD_COLOR)  # 第二个参数可以不写,默认值就是以彩色图像方式读取
plt.imshow(ship_BGR)
plt.show()

输出的图像结果:


可以很容易发现,这和原图的颜色差的非常多,这一切原因都在于读取channel的顺序,因此需要改变channel顺序。

方法一

ship_RGB_1 = ship_BGR[:,:,::-1]  # BGR和RGB正好是顺逆序关系
plt.imshow(ship_RGB_1)
plt.show()

输出的图像结果:

方法二

ship_RGB_2 = cv2.cvtColor(ship_BGR, cv2.COLOR_BGR2RGB)
plt.imshow(ship_RGB_2)
plt.show()

输出的图像结果:


以上两种方法均适用于BGR图像转换为RGB图像,小伙伴们可根据自己的喜好各取所需。

OpenCV系列 | BGR图像转换为RGB图像相关推荐

  1. RGB图像转换成HSV图像,HSV图像转换为RGB图像

    HSV 即使用 色相(Hue).饱和度(Saturation).明度(Value) 来表示色彩的一种方式 色相:将颜色用0°到360°表示,就是我们日常讲的颜色名称,如红色.蓝色等. 色相与颜色对应关 ...

  2. 一条python语句实现BGR图像转RGB图像

    为什么要将BGR图像转RGB图像,一个典型的应用场景是opencv的颜色通道顺序为[B,G,R],而matplotlib的颜色通道顺序为[R,G,B].所以当用opncv读取的图像最终用matplot ...

  3. 【opencv系列07】OpenCV4.X图像基本操作

    点击上方"AI搞事情"关注我们 一.像素操作 可以通过行列坐标访问像素值,对于BGR图,返回一个蓝色.绿色.红色通道的数组值,对于灰度图,仅返回相应的强度值. 代码 import ...

  4. 【opencv系列08】OpenCV4.X图像融合操作

    点击上方"AI搞事情"关注我们 图像叠加 add(src1, src2, dst=None, mask=None, dtype=None)函数或者numpy操作实现图像按位相加,若 ...

  5. realsense系列(一):快速查看realsense相机深度图像和RGB图像

    realsense系列[一]:快速查看realsense相机深度图像和RGB图像 0.本次任务 1.环境准备 2.查看相机内容 0.本次任务 使用realsenseviewer快速查看相机内容 1.环 ...

  6. java图片转为rgb矩阵_[转载]图像类型转换--RGB图像、索引图像、灰度图像、二值图像和数据矩阵(1)...

    要点: RGB转换为灰度图像(包括将彩色映射表对应的索引图像的映射表转换成灰度映射表'图像其实是彩色的'): RGB转换为索引图像: 灰度图像转换成索引图像: 索引图像转换成灰度图像: 索引图像转换为 ...

  7. ITK:将真实和虚构图像转换为复杂图像

    ITK:将真实和虚构图像转换为复杂图像 内容提要 输出结果 C++实现代码 内容提要 将真实图像和虚像转换为复杂图像. 输出结果 Image (0x7ff58250cf20) RTTI typeinf ...

  8. 鱼眼图像转换为全景图像_使用A框架创建3D全景图像

    鱼眼图像转换为全景图像 In the five years I've been at Mozilla I've seen some awesome projects.  Some of them ve ...

  9. OpenCV 创建黑白图像和RGB图像

    OpenCV 创建图像 # -*- coding: utf-8 -*- # @Time : 2021/7/20 # @Author : ZYh """ Introduct ...

最新文章

  1. Linux下清理内存和Cache方法
  2. python之文件读写和异常处理
  3. 【Linux+vscode】配置好秘钥之后还是不能ssh连接(离线配置)
  4. JavaScript工具库之Lodash
  5. 向net core 3.0进击——Swagger的改变
  6. 微信小程序tabBar导航栏页和其他页执行onLoad与onShow时机;tabBar页获取不到参数问题;navigateTo跳转无效问题;onShow执行两次问题;
  7. 汇编语言:实验8分析一个奇怪的程序
  8. k8s核心技术-Helm(概述)---K8S_Google工作笔记0044
  9. java定时运行一个url_Swift 4:如何异步使用URLSessionDataTask但请求是否在一个定时队列中?...
  10. 应用程序委托协议栈发送消息
  11. python医疗_利用Python实现医疗在线问答机器人
  12. 架构系列---发号器(全局唯一ID生成器)系统设计方案和思路
  13. php imagick 教程,php imagick蒙版做法
  14. 交易日节假日查询API接口规范
  15. IOS 个人证书的申请
  16. ZYNQ学习之路9.USB总线学习(二)
  17. php和c#短信接口,C#代码示例_短信接口 | 微米-中国领先的短信彩信接口平台服务商...
  18. 一分钟让你了解什么是CYN
  19. HIVE HSQL 基本操作命令
  20. Wireshark数据流追踪和信息说明

热门文章

  1. android 关闭自拍镜像,iphone关闭自拍镜像
  2. 同一服务器下,不同网站登录同步
  3. 鼎捷软件即将亮相工博会 与制造业共赢智造未来
  4. 用python实现局域网内共享文件
  5. make编译MCU(nxp1064)基于CMakeLists.txt
  6. Dev-C++中关于函数 was not declared in this scope报错的解决方法
  7. 【游戏策划】Excel使用技巧(二)
  8. Linux零拷贝技术
  9. linux基本功系列之wc命令实战
  10. 上汽大众首届「因你而生」ID. Day热力开启