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

使用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图像,小伙伴们可根据自己的喜好各取所需。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值