挑战图像处理100问(1)——通道交换

在这里插入图片描述
读取图像,然后将RGB ext{RGB}通道替换成BGR ext{BGR}通道。

注意,cv2.imread() 的系数是按BGR ext{BGR}顺序排列的!

实现代码(Python3)

"""
AUTHOR: Tian YJ
CREATE: 2020-4-5
FUNCTION: RGB -> BGR
"""


import cv2

# 设置路径
path_work = 'C:/Users/86187/Desktop/image/'
file_in = path_work+'cake.jpg'
file_out = path_work+'RGB_BGR.jpg'

def RGB2BGR(img):
    # cv2.imread()的系数是按BGR的顺序排列的!
    b = img[:, :, 0].copy() # 提取蓝色通道
    g = img[:, :, 1].copy() # 提取绿色通道
    r = img[:, :, 2].copy() # 提取红色通道

    # RGB --> BGR
    img[:, :, 0] = r
    img[:, :, 1] = g
    img[:, :, 2] = b

    return img


# 读取图片
img = cv2.imread(file_in)

# RGB-->BGR
img = RGB2BGR(img)

# 保存结果
cv2.imwrite(file_out, img)
cv2.imshow("result", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果展示

输入 输出
在这里插入图片描述 在这里插入图片描述

哈哈,挺好看的嘛!

原文地址:https://www.cnblogs.com/Jack-Tim-TYJ/p/12831927.html