function colour=colorfulness_feature(I) cform = makecform('srgb2lab'); Img_lab = applycform(I, cform); Img_lum=double(Img_lab(:,:,1)); Img_lum=Img_lum./255+ eps; Img_a=double(Img_lab(:,:,2))./255; Img_b=double(Img_lab(:,:,3))./255; %%%% Chroma Img_Chr=sqrt(Img_a(:).^2+Img_b(:).^2); %%%% Saturation Img_Sat=Img_Chr./sqrt(Img_Chr(:).^2+Img_lum(:).^2); %% Average of saturation Aver_Sat=mean(Img_Sat); %% Average of Chroma Aver_Chr=mean(Img_Chr); %%% Variance of Chroma Var_Chr =sqrt(mean((abs(1-(Aver_Chr./Img_Chr).^2)))); %%% Contrast of luminance Tol=stretchlim(Img_lum); Con_lum=Tol(2)-Tol(1); %%% get final quality value colour=[Var_Chr Con_lum];
时间: 2023-06-15 08:05:19 浏览: 184
这是一个计算图像颜色丰富度的函数,使用的是LAB颜色空间。首先将输入的RGB图像转换成LAB颜色空间,然后提取L、a、b三个通道。计算色度(chroma)和饱和度(saturation),得到图像的平均饱和度和平均色度。接着计算色度的方差和亮度的对比度,最后将这两个值作为图像颜色丰富度的特征,返回一个包含这两个特征值的向量。
阅读全文