d1右边的点,d2右上,d3上... 前景点的灰度为1,背景点的灰度0
方法一:d1-d1*d2*d3+d3-d3*d4*d5+d5-d5*d6*d7+d7-d7*d8*d1
方法一:d1-d1*d2*d3+d3-d3*d4*d5+d5-d5*d6*d7+d7-d7*d8*d1
方法二:8邻域的01模式和。
int Get8Neighbor01Mode(int* b)
{
int iNum = 0 ;
for( int i = 0 ; i < 8 ; i++ )
{
if( ( 0 == b[i] ) && ( 1 == b[(i+1)%8] ) )
{
iNum++;
}
}
return iNum ;
}
int Get8NeighborConnect(int* b)
{
int iNum = 0 ;
for( int i = 0 ; i < 8 ; i+= 2 )
{
iNum += b[i];
iNum -= b[i]*b[(i+1)%8]*b[(i+2)%8];
}
return iNum ;
}
for( int i = 0 ; i < 0xFF ; i++ )
{
int b[8] = {0};
for( int j = 0 ; j < 8 ; j++ )
{
b[j] = (i >> j) & 1 ;
}
int n1 = Get8Neighbor01Mode(b);
int n2 = Get8NeighborConnect(b);
}
这两种方法的结果不一样,256种情况有90多种不同。
这90多种情况的bmp见压缩包,http://download.csdn.net/download/he_zhidan/9972691
下面试举几例: