在opencv中的图像是以bgr形式存放的,但很多场景默认的是rgb形式的图像,这就导致实际应用中的颜色错乱,以下是bgr和rgb相互转换的函数:
def rgb_bgr(r_color):
r_color_list = list(r_color)
tmp = r_color_list[0]
r_color_list[0] = r_color_list[2]
r_color_list[2] = tmp
r_color = webcolors.IntegerRGB(r_color_list[0], r_color_list[1], r_color_list[2])
return r_color
或:
def BGR_to_RGB(cvimg):
pilimg = cvimg.copy()
pilimg[:, :, 0] = cvimg[:, :, 2]
pilimg[:, :, 2] = cvimg[:, :, 0]
return pilimg
其实原理就是将存放图像数据的数组的相对位置互换