cv2 保存图片RGB BGR

当使用cv2imread读取图片时,图像默认为BGR格式。在某些处理中我们可能需要将其转换为RGB,但在保存时必须注意,cv2.imwrite默认保存为BGR格式。因此,如果在保存前将图像转换为RGB,需要在保存前再转回BGR,以保持颜色正确。正确的流程是:读取->转换RGB->处理->转换回BGR->保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cv2 读取进来再保存

path = ${image_path}
image = cv2.imread(path, cv2.IMREAD_COLOR)
cv2.imwrite('cv2.png', image)

原图:
原始图片
cv2.imrite之后的图:
cv2 imwrite
可以看到前后图片一样,我们都知道cv2
.imread读取进来的图像是BGR格式,而cv2.imrite保存的时候也需要BGR格式,这样保证颜色通道顺序一致。

转换RGB后在用cv2保存

通常情况下,我们都需要转换成RGB的格式进行后续处理,看下面的例子

path = ${image_path}
image = cv2.imread(path, cv2.IMREAD_COLOR)
cv2.cvtColor(image, cv2.COLOR_BGR2RGB, image)
cv2.imwrite('cv2.jpg', image)

而保存的图像却是:
请添加图片描述
可以看到颜色前后发生了变化,这就说明cv2.imwrite会进行一次通道转化。如果我们将输入图像转化成了RGB,进行了一系列处理后,希望保存图像,而此时需要将RGB转化成BGR,最终保存的图像才是我们想要的。

推荐的使用

path = ${image_path}
image = cv2.imread(path, cv2.IMREAD_COLOR)
cv2.cvtColor(image, cv2.COLOR_BGR2RGB, image)
# your image processing code
cv2.cvtColor(image, cv2.COLOR_RGB2BGR, image)
cv2.imwrite('cv2.jpg', image)

此时保存的图像:
请添加图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值