归一化
将数组归一化到0,1之间
array_out = cv2.normalize(array,None,0,1,cv2.NORM_MINMAX,cv2.CV_32F)
也可以使用下面的方法:
array = array - np.amin(array)
array = array / np.amax(array)
色彩转化
Opencv使用了如下转化公式将rgb图像转化为灰度(亮度)图像
RGB2GRAYimg_gray = cv2.cvtColor(img_rgb,cv2.COLOR_RGB2GRAY)
如果需要将灰度(亮度)图像转化回彩色图像,可以使用如下公式:
GRAY2
其中,Lin为原图像的亮度值,Lout的转换后亮度值,Cin为原图像的r,g,b值。
def gray2rgb(lum_before,lum_after,rgb,s):
lum_before = np.repeat(lum_before[:,:,np.newaxis],3,axis=2)
lum_after = np.repeat(lum_after[:,:,np.newaxis],3,axis=2)
rgb_out = (rgb / lum_before)**s*lum_after
return rgb_out
网友评论