Advertisement

(知识整理)图像颜色特征提取

阅读量:

常用的颜色描述方法

(1) 颜色直方图

其主要优势在于:它能够直观地体现一幅图像中各色素的空间分布情况;也就是各色素在整个图像中的比例分布。特别适用于分析那些难以用传统分割算法处理的画面以及无需关注对象间的相对位置关系的情形。

它的不足之处是无法详细描绘颜色在图像中的局部分布情况以及各色在图像空间中的位置特征;因此也无法具体描绘某个特定的对象或物体。

最常用的颜色空间:RGB颜色空间、HSV颜色空间。

基于直方图的颜色特征匹配策略包括:交点计数法、距离测量法、中心距离计算、参考色表检索以及累积直方图匹配。

(2)颜色集

一种全局的颜色特征提取与匹配方法是基于直方图的技术,在此方法中无法单独提取出局部的颜色特征信息。为了简化处理过程,在对图像进行处理时通常会采用一种近似表示的方法:首先将图像从 RGB 颜色空间转换为视觉平衡的颜色空间(如 HSV 空间),并将其量化为多个门类;接着采用自动色彩分割技术对图像进行区域划分,在每个区域内利用量化后的颜色空间中的某个分量作为代表值来构建一个二进制的颜色索引集合;最后在图像匹配过程中通过对不同图像的颜色集合间的距离计算以及对其在空间上的分布情况分析来实现特征匹配

由于颜色集以二进制特征向量的形式进行表示,在计算机中实现起来非常方便,并且能够构建高效的二分查找树以加速搜索速度,在处理大规模图像集合时展现出显著性能优势

(3)颜色矩

该方法的数学理论基础建立在图像色彩分布可用其矩描述的基础之上。此外,在这种情况下, 由于大部分能量集中于低阶统计量中, 因此仅需利用颜色的一阶统计量(平均值)、二阶统计量(方差)及三阶统计量(偏度)即可充分表征图像色彩特性。

一阶矩(均值);

二阶矩(方差);

三阶矩(斜度)。

颜色矩的提取

function ColorMomentVector = colormoment(img)
img = imread('filename.jpg');
[m, n, q] = size(img);
sum_pixel = m * n;

img_r=img(:,:,1);
img_g=img(:,:,2);
img_b=img(:,:,3);

u_r=sum(sum(img_r))/sum_pixel;
u_g=sum(sum(img_g))/sum_pixel;
u_b=sum(sum(img_b))/sum_pixel;

img_u_r=uint8(ones(m,n)*u_r);
img_u_g=uint8(ones(m,n)*u_g);
img_u_b=uint8(ones(m,n)*u_b);

theta_r = sqrt(total_sum((img_r - img_u_r)的平方)/pixel_total);
theta_g = sqrt(total_sum((img_g - img_u_g)的平方)/pixel_total);
theta_b = sqrt(total_sum((img_b - img_u_b)的平方)/pixel_total);

R值等于双重求和的红通道图像与统一图像三次方差总和除以像素总数后的立方根;
G值等于双重求和的绿通道图像与统一图像三次方差总和除以像素总数后的立方根;
B值等于双重求和的蓝通道图像与统一图像三次方差总和除以像素总数后的立方根。

ColorMoment_Vector = [u_r u_g u_b theta_r theta_g theta_b s_r s_g s_b];

常用颜色矩作为初步筛选的标准,在图像处理中用于剔除与目标不符的颜色样本。基于仅提取少量矩特征的情况,则通过与其他图像特征相互配合应用来进一步优化结果。

(4)颜色聚合向量

其基本概念是:将直方图每个桶中的像素分为两部分,在该桶内若某些连续区域所占面积超过设定阈值,则这些区域中的像素被视为聚类像素;反之,则视为非聚类 pixels。

(5) 颜色相关图

不仅反映了某种颜色在图像中所占的像素比例,而且也显示了不同颜色之间在空间上的关联性。其表征较为复杂,应用范围相对有限

全部评论 (0)

还没有任何评论哟~