码迷,mamicode.com
首页 > 其他好文 > 详细

颜色矩

时间:2014-05-25 21:28:59      阅读:362      评论:0      收藏:0      [点我收藏+]

标签:图像处理   图形   计算机视觉   java   

颜色矩:
    颜色矩是一种简单而有效的颜色特征,是由StrickerOreng提出的,这种方法的数学基础是图像中的任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(mean)、二阶矩(Variance)和三阶矩(Skewness)就足以表达图像的颜色分布,与颜色直方图相比,该方法的另一个好处是无须对特征进行量化。
    设p(i,j)图像的像素值,N为像素数,则:
    Mean=(sum(p(I,j)))/N
    Variance=sqrt(sum(p(I,j )-mean)^2/N)
    Skewness= Variance= (sum(p(I,j )-mean^3/N)^1/3
    图像的颜色矩一共有九个分量,每个颜色通道均有三个低阶矩。颜色矩仅仅使用少数几个矩,从而导致过多的虚警,因此颜色矩常和其他特征结合使用。
public void setColorJu(){
		int		i , j;
		int 	k;
		double	sumh , sums , sumv;
		
		this.colorJuH[1]	=	0.0;
		this.colorJuS[1]	=	0.0;
		this.colorJuV[1]	=	0.0;
		
//		System.out.println(this.width * this.height);
		for( k = 1 ; k <= 3 ; k++ ){
			sumh = 0.0;
			sums = 0.0;
			sumv = 0.0;
			for( i = 0 ; i < this.width ; i++ ){
				for( j = 0 ; j < this.height ; j++ ){
//					double	temp = this.points[i][j].getHHSV();
//					temp -= this.colorJuH[1];
//					temp = Math.pow(temp, k);
//					sumh += temp;
					sumh += Math.pow(	( this.points[i][j].getHHSV() - this.colorJuH[1] )	,	k	);
					sums += Math.pow(	( this.points[i][j].getSHSV() - this.colorJuS[1] )	,	k	);
					sumv += Math.pow(	( this.points[i][j].getVHSV() - this.colorJuV[1] )	,	k	);
				}
			}
			
			
//			System.out.println(k+":");
			
			this.colorJuH[k] = sumh / ( this.width * this.height );				
			if( k == 2 )
				this.colorJuH[k]	=	Math.sqrt(this.colorJuH[k]);
			if( k == 3 )
				this.colorJuH[k]	=	Math.cbrt(this.colorJuH[k]);
			
			
//			System.out.println(colorJuH[k]);
			
			this.colorJuS[k] = sums / ( this.width * this.height );
			if( k == 2 )
				this.colorJuS[k]	=	Math.sqrt(this.colorJuH[k]);
			if( k == 3 )
				this.colorJuS[k]	=	Math.cbrt(this.colorJuH[k]);
			
			this.colorJuV[k] = sumv / ( this.width * this.height );
			if( k == 2 )
				this.colorJuV[k]	=	Math.sqrt(this.colorJuH[k]);
			if( k == 3 )
				this.colorJuV[k]	=	Math.cbrt(this.colorJuH[k]);
			
//			System.out.println("sumh"+sumh+","+"sums"+sums+","+"sumv"+sumv);
		}
	}


颜色矩,布布扣,bubuko.com

颜色矩

标签:图像处理   图形   计算机视觉   java   

原文地址:http://blog.csdn.net/guanjungao/article/details/26975627

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!