一、彩色图像文件转换
1.转为HSV格式
(1)HSV颜色模型
(2)实例
#使用opencv
#直接读取图片
cv_read=cv2.imread(source_path)
#转化为hsv格式
lena_hsv=cv2.cvtColor(cv_read,cv2.COLOR_BGR2HSV)
cv2.imshow('lena',lena_hsv)
cv2.waitKey(0)
2.转为HSI 格式
(1)颜色模型
(2)实例
def RBG_to_HSI(rgb_img):
"""
: param rgb_img: RGB彩色图像
: return : HSI图像
"""
#保存原始图像的行列数
row=np.shape(rgb_img)[0]
col=np.shape(rgb_img)[1]
#对原始图像进行复制
hsi_img=rgb_img.copy()
#对图像进行通道拆分
B,G,R=cv2.split(rgb_img)
#把通道归一化到[0,1]
[B,G,R]=[i/255.0 for i in ([B,G,R])]
H=np.zeros((row,col))#定义H通道
I=(R+G+B)/3.0 #计算I通道
S=np.zeros((row,col))#定义S通道
for i in range(row):
den = np.sqrt((R[i]-G[i])**2+(R[i]-B[i])*(G[i]-B[i]))
thetha=np.arccos(0.5*(R[i]-B[i]+R[i]-G[i])/den)#计算夹角
h=np.zeros(col) <