相关文章推荐
深情的楼房  ·  低端卡通通倒下 古墓丽影新作详细试玩_手机新浪网·  6 月前    · 
鼻子大的甘蔗  ·  金砖国家领导人汉堡非正式会晤媒体声明·  6 月前    · 
卖萌的眼镜  ·  中华人民共和国司法部·  10 月前    · 
听话的乌冬面  ·  关于《市人社局等六部门关于在中国(天津)自由 ...·  1 年前    · 
威武的冰棍  ·  李秋华-贵州省山地环境重点实验室·  1 年前    · 
Code  ›  opencv-python的RGB与BGR互转方式开发者社区
opencv rgb
https://cloud.tencent.com/developer/article/1737265
爱吹牛的香烟
1 年前
作者头像
砸漏
0 篇文章

opencv-python的RGB与BGR互转方式

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 恩蓝脚本 > opencv-python的RGB与BGR互转方式

opencv-python的RGB与BGR互转方式

作者头像
砸漏
发布 于 2020-11-02 10:29:24
5.2K 0
发布 于 2020-11-02 10:29:24
举报

一、格式转换

opencv读取图片的默认像素排列是BGR,需要转换。PIL库是RGB格式。

caffe底层的图像处理是基于opencv,其使用的颜色通道顺序与也是BGR(Blue-Green-Red),而日常图片存储时颜色通道顺序是RGB。

在Python中,将RGB顺序的图像转成BGR顺序,需要调整channel dimension的各颜色通道顺序。

方法1:

img = cv2.imread(“001.jpg”) img_ = img[:,:,::-1].transpose((2,0,1))

① 在opencv里,图格式HWC,其余都是CHW,故transpose((2,0,1))

② img[:,:,::-1]对应H、W、C,彩图是3通道,即C是3层。opencv里对应BGR,故通过C通道的 ::-1 就是把BGR转为RGB

注: [::-1] 代表顺序相反操作

③ 若不涉及C通道的BGR转RGB,如Img[:,:,0]代表B通道,也就是蓝色分量图像;Img[:,:,1]代表G通道,也就是绿色分量图像;Img[:,:,2]代表R通道,也就是红色分量图像。

方法2:

使用opencv自带函数转换图像的R通道和B通道。

RGB – BGR

img_bgr = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2BGR)

BGR- RGB

img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)

方法3:

BRG转RGB

rgb = bgr[…,::-1]

RGB转BGR

bgr = rgb[…,::-1]

RGB转GBR

gbr = rgb[…,[2,0,1]]

 
推荐文章
深情的楼房  ·  低端卡通通倒下 古墓丽影新作详细试玩_手机新浪网
6 月前
鼻子大的甘蔗  ·  金砖国家领导人汉堡非正式会晤媒体声明
6 月前
卖萌的眼镜  ·  中华人民共和国司法部
10 月前
听话的乌冬面  ·  关于《市人社局等六部门关于在中国(天津)自由贸易试验区推行境外职业资格认可工作的通知》的政策问答_政策解读_天津市人力资源和社会保障局
1 年前
威武的冰棍  ·  李秋华-贵州省山地环境重点实验室
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号