一、问题

当使用opencv函数imread()读取图片时,颜色的顺序是BGR(blue、green、red),而Pillow的颜色顺序又是RGB,因此我们可能需要将BGR转RGB。

二、转换

可以通过以下几种方法实现BGR转RGB

import cv2
import numpy as np
from PIL import Image# 方法一
im_bgr = cv2.imread('data/src/lena.jpg')im_rgb = im_bgr[:, :, [2, 1, 0]]
Image.fromarray(im_rgb).save('data/dst/lena_swap.jpg')
# 方法二
im_bgr = cv2.imread('data/src/lena.jpg')im_rgb = im_bgr[:, :, ::-1]
Image.fromarray(im_rgb).save('data/dst/lena_swap_2.jpg')
# 方法三
im_cv = cv2.imread('data/src/lena.jpg')im_rgb = cv2.cvtColor(im_cv, cv2.COLOR_BGR2RGB)
Image.fromarray(im_rgb).save('data/dst/lena_rgb_pillow.jpg')

OpenCV实现BGR转RGB相关推荐

  1. OpenCV系列 | BGR图像转换为RGB图像

    目录 方法一 方法二 使用OpenCV加载图像时,默认使用BGR的格式,而使用matplotlib显示图像时又采用RGB的格式,因此显示图像时,会显得非常奇怪. 如以一张船的照片为例,原图如下: 使用 ...

  2. opencv python 把图(cv2下)BGR转RGB,且HWC转CHW

    img = cv2.imread("001.jpg") img_ = img[:,:,::-1].transpose((2,0,1)) ① 在opencv里,图格式HWC,其余都是 ...

  3. 为什么opencv使用BGR 格式,而不是RGB格式?

    https://www.learnopencv.com/why-does-opencv-use-bgr-color-format/ 原因其实很简单啊,这个解释非常的风趣,"古罗马的马屁股&q ...

  4. 【超直白讲解opencv RGB与BGR】RGB模式与BGR模式有什么不同,如何相互转换?

    一.为什么会有BGR和RGB两种通道? 首先RGB与BGR本质都没有什么区别,OpenCV和PIL读取图片的格式分别是BGR和RGB. 当我们使用OpenCV读取图像时,你应该也会发现读取的数组其实是 ...

  5. bgr与rgb相互转换

    在opencv中的图像是以bgr形式存放的,但很多场景默认的是rgb形式的图像,这就导致实际应用中的颜色错乱,以下是bgr和rgb相互转换的函数: def rgb_bgr(r_color):r_col ...

  6. CV2.imread得到的图像显示成蓝色的原因和3种BGR转RGB的方法

    新手使用CV2.imread后,直接显示,得到下面这种蓝色的图片,与原图差异很大: CV2的imread默认存储的颜色空间顺序是BGR,与matplot显示用的imshow的颜色顺序RGB正好相反,那 ...

  7. python BGR 转换为 RGB

    将 numpy.ndarray 类型的 BGR 转为 RGB: if __name__ == '__main__':image_path = '1.jpg'image = cv2.imread(ima ...

  8. BGR转RGB(python)

    BGR转RGB(python) 前言 BGR转RGB 总结 前言 使用cv2打开图片默认是BGR模式,而使用PIL显示图片时是RGB模式,如果不做转换,图片会出现色彩上的问题,例如: cv_img = ...

  9. opencv:图像读取BGR变成RGB

    opencv大坑之BGR opencv对于读进来的图片的通道排列是BGR,而不是主流的RGB!谨记! #opencv读入的矩阵是BGR,如果想转为RGB,可以这么转 img = cv2.imread( ...

最新文章

  1. 探讨ASP.NET AJAX客户端开发技术
  2. JBoss关闭时报Failed to authenticate principal=null,...
  3. 深入理解Java:注解
  4. when is SAP UI5 url hash changed in browser
  5. [react] React v15中怎么处理错误边界?
  6. BugkuCTF-Reverse题mobile1(gctf)
  7. python os库使用
  8. css固定定位与绝对定位的区别
  9. Spring mvc 返回json格式 - 龙企阁 - 博客频道 - CSDN.NET
  10. 《人月神话》阅读笔记3
  11. Python入门--函数的参数总结
  12. Easy connect不能访问公网/外网/网页
  13. Matlab批量读取csv、txt、prn等文件
  14. 对物理量“角速度”与“波矢”的理解
  15. java 权限 部分截图
  16. 图搜索算法(一):图搜索的一般算法
  17. 第四届橙瓜网络文学奖评选仙侠排行,辰东《遮天》竟然不是排第一?
  18. TensorBoard一幅图中显示多条曲线
  19. 【JZOJ 省选模拟】多项式(poly)
  20. 30佳别具一格的国外创意名片设计欣赏

热门文章

  1. 专题十二:实现一个简单的FTP服务器
  2. U-Mail专家分析邮件系统退信原因
  3. TOAD的导入或导出
  4. 北邮鲁鹏老师三维重建课程之相机标定
  5. 前端 解决笔记本屏幕显示缩放比例125% 150%对页面布局的影响
  6. VUE学习-基础(一)
  7. 信息系统项目管理师必背核心考点(三十一)挣值管理
  8. 从零开始构建基于textcnn的文本分类模型(上),word2vec向量训练,预训练词向量模型加载,pytorch Dataset、collete_fn、Dataloader转换数据集并行加载
  9. 慧都独家揭晓国外十大Mac和iOS应用开发工具
  10. php全选和反选,纯javascript实现选择框的全选与反选功能