OpenCV例程:针对对比度差的图像,目标分割方法

绪:
本文本家儿要针对方针区域和布景区域灰度值近似,即图像对比度差;
采用基于Otsu阈值朋分法不易朋分;
这里介绍给出了一个不算坚苦的方式:
起首,以三个模板对图像进行卷积,提取特征,构建特征标的目的量调集;
然后,采用k-means聚类方式,对特征标的目的量调集聚类,提取方针类别;
最后,基于形态学操作,朋分出方针区域 。

OpenCV例程:针对对比度差的图像,目标分割方法

文章插图

需要这些哦
OpenCV 2410
方式/
1方针区域和布景区域灰度值近似的图像,如下图所示:
在图中,
比力光滑的处所为路面--方针,
纹理较丰硕的处所为树林--布景;这是遥感图像;
那么问题来了:
若何在这幅图像中,朋分出路脸孔标区域?

OpenCV例程:针对对比度差的图像,目标分割方法

文章插图

2在上图中,常见的阈值朋分法必定是不可的 。
这里给出了一种纹理朋分方式,
利用了三种特征来表征某一像素在其范畴规模内的纹理性质;
按照路脸孔标区域和树林布景区域的纹理性质分歧,来进行阐发 。
起首,给出了三个特征模板,如图所示:
①单元面积灰度转变总量:
针对这个公式,我机关了一个5*5的模板
即只需要用这个模板对原图进行滤波就可以求出单元面积灰度转变总量;
②Laws纹理测量模板中的高频点检测模板R5R5
③Laws纹理测量模板中的V外形检测模板E5S5

OpenCV例程:针对对比度差的图像,目标分割方法

文章插图

3别离将上述三个模板与图像做卷积,
并将获得的成果构成一个矢量;在三维空间里面进行Kmean聚类;
法式如下:
Mat pLawsEnergy(raw_img.size(),CV_32FC3);//特征标的目的量调集
int i,j,m,n;
float sumRR,sumES,sumVAR;
for (i=2;i<m_width-2;i++)//lie
{
for (j=2;j<m_height-2;j++)//hang
       {
              sumRR = 0;
              sumES = 0;
              sumVAR= 0;
              for (m=-2;m<=2;m++)//核大小,卷积操作
              {
                     for (n=-2;n<=2;n++)
                     {
                            unsigned char *raw_data=https://vvvtt.com/article/(unsigned char*)(raw_img.data+(j+n)*raw_img.step);
                            float p_data = https://vvvtt.com/article/raw_data[i+m];
                            sumES += E5S5[m+2][n+2]*p_data;

推荐阅读