如何将opencv读入的图片通道的 BGR 顺序转成 RGB 顺序

文章目录

  • 方法1:数组切片的方法进行调转
  • 方法2:opencv 自身的方法进行调转
  • 方法3:opencv 分离通道后重新组合
  • 演示

方法1:数组切片的方法进行调转

img = cv2.imread("cat.jpg")[:,:,::-1]
ax = plt.imshow(img)
  • 对于一张图来说,是一个三位的向量, W ∗ H ∗ C W * H * C WHC ,其中 C C C 是通道数,这个切片的操作,是保留 W ∗ H W * H WH 操作不变,对第三个维度的操作进行反转即: [ : : − 1 ] [::-1] [::1],这样 C C C 中包含的 B,G,R 就变成 R,G,B 了
  • 大家可以试一下这个操作,比如:
    如何将opencv读入的图片通道的 BGR 顺序转成 RGB 顺序_第1张图片

方法2:opencv 自身的方法进行调转

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

方法3:opencv 分离通道后重新组合

b,g,r = cv2.split(img)
img_ = cv2.merge([r,g,b])
plt.imshow(img)

演示

  • B,G,R 的演示效果
    如何将opencv读入的图片通道的 BGR 顺序转成 RGB 顺序_第2张图片
  • R,G,B 的演示效果
    如何将opencv读入的图片通道的 BGR 顺序转成 RGB 顺序_第3张图片

你可能感兴趣的:(Opencv学习,python,opencv)