cv2 保存图片RGB BGR

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)

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

猜你喜欢

转载自blog.csdn.net/qq_44897728/article/details/128659655