现在的位置: 首页 > 综合 > 正文

关于matlab函数bwmorph函数的C++版本

2013年03月05日 ⁄ 综合 ⁄ 共 22590字 ⁄ 字号 评论关闭

下面是我前一段时间改写的matlab的bwmorph函数的代码,这里拿来和大家分享,如果有什么改进可以给我一份!

改写的源码来源于matlab2008。

//2013年7月8号

//zzh编写

//骨架提取主函数
void CProptertyDlg::GetMyNewSkeleton(bool **img, bool **imgSkel,int imgHeight,int imgWidth)
{
   
     //bool img1[576][720]={0};
 int i,j;
 bool **img1,**img2;
 unsigned long int iter=1;
     int done=0;
    
int flag;
int temp=0;
 
 
img1=new bool *[imgHeight];
 for (i=0;i<imgHeight;i++)
 {
 img1[i]=new bool[imgWidth];
 }
 for (i=0;i<imgHeight;i++)
 {
 for (j=0;j<imgWidth;j++)
 {
 img1[i][j]=FALSE;
 }
 }

//bool img2[576][720]={0}; 

 img2=new bool *[imgHeight];
 for (i=0;i<imgHeight;i++)
 {
 img2[i]=new bool[imgWidth];
 }
 for (i=0;i<imgHeight;i++)
 {
 for (j=0;j<imgWidth;j++)
 {
 img2[i][j]=FALSE;
 }
 }
     
 
for(i=0;i<imgHeight;i++)
             for(j=0;j<imgWidth;j++)
   img1[i][j]=img[i][j];

 
     while(!done)
    {
              flag=0;        

  
               skel(img1,img2,imgHeight,imgWidth);
  //判断img2和img1是否相同
  for(i=1;i<imgHeight-1;i++)
                    for(j=1;j<imgWidth-1;j++)
 {
      if( img1[i][j]==img2[i][j]) flag++;
 }
 

for(i=1;i<imgHeight-1;i++)
                     for(j=1;j<imgWidth-1;j++)

img1[i][j]=img2[i][j];

  done = ( (iter>=0xfffffffe)||flag==(imgHeight-2)*(imgWidth-2));
  iter = iter+1;
  

    }

//最后输出结果保存
  for(i=0;i<imgHeight;i++)
                    for(j=0;j<imgWidth;j++)
   imgSkel[i][j]=img2[i][j];

delete(img1);
delete(img2);
 

}

//骨架提取相关函数
bool CProptertyDlg::is3x3LogicalLutOneInOneOut(bool *lut)
{
    bool result = true;
    int lut_length = 512;   /* always 512 for 3x3 lookup table */
    unsigned short bit_mask = 16; /* on-bit corresponding to neighborhood center */
    unsigned short k;
    
    
    for (k = 0; k < lut_length; k++)
    {
        bool neighborhood_has_one_center = (k & bit_mask) != 0;
        if ((neighborhood_has_one_center) && (lut[k] == 0))
        {
            result = false;
            break;
        }
    }

    return result;
}

//骨架提取相关函数
bool CProptertyDlg::is3x3LogicalLutZeroInZeroOut(bool *lut)
{
     bool result = true;
    int lut_length = 512;   /* always 512 for 3x3 lookup table */
    unsigned short bit_mask = 16; /* on-bit corresponding to neighborhood center */
    unsigned short k;
    
    
    for (k = 0; k < lut_length; k++)
    {
        bool neighborhood_has_zero_center = (k & bit_mask) == 0;
        if ((neighborhood_has_zero_center) && (lut[k] != 0))
        {
            result = false;
            break;
        }
    }

    return result;
}

//骨架提取相关函数
void CProptertyDlg::applylutc(bool **imgIN, bool *lut, bool **imgOUT,int imgHeight,int imgWidth)
{
    
    int c,r;
int temp=0;
    if(is3x3LogicalLutZeroInZeroOut(lut))
    {
        
        for ( c= 1; c <imgWidth-1; c++) 
{
            for (r = 1; r < imgHeight-1; r++) 
{
if(imgIN[r][c]!=0)
{
                     temp=imgIN[r-1][c-1]*1+imgIN[r][c-1]*2+imgIN[r+1][c-1]*4+imgIN[r-1][c]*8+imgIN[r][c]*16+imgIN[r+1][c]*32+imgIN[r-1][c+1]*64+imgIN[r][c+1]*128+imgIN[r+1][c+1]*256;
                     imgOUT[r][c]=lut[temp];
}
            }
        }
    }

    else if(is3x3LogicalLutOneInOneOut(lut))
    {
        
        for (c = 1; c < imgWidth-1; c++) 
{
            for (r = 1; r < imgHeight-1; r++) 
{
                if (imgIN[r][c]==0)
                {
                    temp=imgIN[r-1][c-1]*1+imgIN[r][c-1]*2+imgIN[r+1][c-1]*4+imgIN[r-1][c]*8+imgIN[r][c]*16+imgIN[r+1][c]*32+imgIN[r-1][c+1]*64+imgIN[r][c+1]*128+imgIN[r+1][c+1]*256;
                     imgOUT[r][c]=lut[temp];
                }
                else
                {
                    imgOUT[r][c]=TRUE;
                }
                
            }
        }
    }
    else
    {
        for (c = 1; c < imgWidth-1; c++) 
{
            for (r = 1; r < imgHeight-1; r++) 
{
               temp=imgIN[r-1][c-1]*1+imgIN[r][c-1]*2+imgIN[r+1][c-1]*4+imgIN[r-1][c]*8+imgIN[r][c]*16+imgIN[r+1][c]*32+imgIN[r-1][c+1]*64+imgIN[r][c+1]*128+imgIN[r+1][c+1]*256;
               imgOUT[r][c]=lut[temp]; 
            }
        }
    }
}

//骨架提取子函数
void CProptertyDlg::skel(bool **imgIN, bool **imgOUT,int imgHeight,int imgWidth )
{
//8个查找表
bool skel1[512] = {
     0  ,   0  ,   0  ,   0  ,   0   ,  0   ,  0   ,  0    , 0    , 0   ,  0   ,  0 ,
     0   ,  0  ,   0 ,    0  ,   0  ,   0    , 0   ,  0  ,   0 ,    0  ,   0  ,   0 ,
     0   ,  0 ,    0   ,  0    , 0  ,   0    , 0  ,   0  ,   0   ,  0  ,   0 ,    0 ,
     0  ,   0  ,   0   ,  0  ,   0   ,  0     ,0    , 0   ,  0  ,   0   ,  0  ,   0 ,
     0   ,  0  ,   0  ,   0  ,   0  ,   0   ,  0  ,   0  ,   0   ,  0   ,  0   ,  0 ,
     0    , 0 ,    0   ,  0   ,  0   ,  0   ,  0   ,  0   ,  0  ,   0  ,   0    , 0 ,
     0   ,  0  ,   0    , 0    , 0 ,    0  ,   0   ,  0  ,   0 ,    0   ,  0  ,   0 ,
     0  ,   0 ,    0  ,   0,     0  ,   1  ,   0  ,   1 ,    0  ,   0  ,   0   ,  0 ,
     0  ,   0   ,  0   ,  0  ,   0   ,  0    , 0   ,  0   ,  0  ,   0  ,   0  ,   0 ,
     0    , 0  ,   0    , 0  ,   0  ,   0   ,  0  ,   0 ,    0   ,  0  ,   0  ,   0 ,
     0  ,   0  ,   0  ,   0   ,  0  ,   0  ,   0   ,  0  ,   0  ,   0  ,   0  ,   0 ,
     0  ,   0   ,  0   ,  0     ,0    , 0    , 0     ,0    , 0     ,0     ,0    , 0 ,
     0    , 0 ,    0  ,   0     ,0   ,  0   ,  0   ,  0    , 0   ,  0  ,   0  ,   0 ,
     0   ,  0 ,    0  ,   0   ,  0   ,  0   ,  0   ,  0   ,  0   ,  0  ,   0  ,   0 ,
     0    , 0   ,  0    , 0    , 0   ,  0    , 0    , 0   ,  0    , 0   ,  0  ,   0 ,
     0  ,   0 ,    0  ,   0   ,  0   ,  0     ,0   ,  0  ,   0   ,  0    , 0 ,    0 ,
     0    , 0   ,  0   ,  0  ,   0   ,  0   ,  0   ,  0   ,  0   ,  0   ,  0  ,   0 ,
     0   ,  0  ,   0 ,    0    , 0   ,  0   ,  0   ,  0  ,   0   ,  0   ,  0   ,  0 ,
     0    , 1 ,    0   ,  1  ,   0  ,   0   ,  0  ,   0   ,  0  ,   0   ,  0  ,   0 ,
     0  ,   0 ,    0  ,   0    , 0   ,  0    , 0   ,  0  ,   0  ,   0  ,   0   ,  0 ,
     0  ,   0  ,   0  ,   0  ,   0    , 0   ,  0  ,   0   ,  0    , 0    , 0   ,  0 ,
     0  ,   0 ,    0   ,  0 ,    0  ,   0   ,  0  ,   0   ,  0  ,   0   ,  0  ,   0 ,
     0   ,  0,     0   ,  0    , 0    , 0    , 0   ,  0   ,  0  ,   0   ,  0   ,  0 ,
     0   ,  0  ,   0   ,  0  ,   0   ,  0   ,  0   ,  0   ,  0   ,  0  ,   0 ,    0 ,
     0  ,   0  ,   0     ,0   ,  0   ,  0   ,  0    , 0  ,   0   ,  0  ,   0  ,   0 ,
     0    , 0   ,  0  ,   0   ,  0   ,  0   ,  0   ,  0   ,  0   ,  0  ,   0    , 0 ,
     0  ,   0 ,    0 ,    0    , 0  ,   0   ,  0     ,0    , 0   ,  0   ,  0   ,  0 ,
     0  ,   0  ,   0    , 0    , 0    , 0    , 0   ,  0  ,   0,     0   ,  0    , 0 ,
     0   ,  0   ,  0   ,  0   ,  0   ,  0   ,  0   ,  0   ,  0  ,   0   ,  0   ,  0 ,
     0   ,  0  ,   0 ,    0 ,    0  ,   0  ,   0    , 0     ,0   ,  0   ,  0    , 0 ,
     0     ,0   ,  0  ,   0   ,  0  ,   0   ,  0    , 0    , 0  ,   0  ,   0   ,  0 ,
     0   ,  0 ,    0   ,  0   ,  0   ,  0    , 0  ,   0  ,   0   ,  0  ,   0 ,    0 ,
     0  ,   0,     0     ,0    , 0    , 0    , 0    , 0   ,  0    , 0   ,  0   ,  0 ,
     0   ,  0    , 0 ,    0  ,   0    , 0   ,  0  ,   0   ,  0  ,   0   ,  0  ,   0 ,
     0  ,   0    , 0    , 0    , 0    , 0   ,  0 ,    0   ,  0  ,   0   ,  0  ,   0 ,
     0 ,    0   ,  0 ,    0   ,  0   ,  0  ,   0    , 0     ,0    , 0    , 0   ,  0 ,
     0   ,  0   ,  0 ,    0 ,    0  ,   0   ,  0  ,   0   ,  0    , 0    , 0   ,  0 ,
     0  ,   0   ,  0  ,   0  ,   0    , 0   ,  0    , 0    , 0   ,  0  ,   0  ,   0 ,
     0  ,   0  ,   0   ,  0  ,   0     ,0    , 0   ,  0   ,  0    , 0   ,  0   ,  0 ,
     0   ,  0 ,    0   ,  0    , 0     ,0  ,   0    , 0    , 0   ,  0   ,  0  ,   0 ,
     0   ,  0 ,    0   ,  0   ,  0    , 0     ,0   ,  0     ,0   ,  0   ,  0  ,   0 ,
     0    , 0 ,    0,     0    , 0     ,0   ,  0   ,  0   ,  0   ,  0    , 0     ,0 ,
     0  ,   0 ,    0  ,   0   ,  0    , 0    , 0  ,   0 };
 
bool skel2[512]={
0   ,  0  ,   0 ,    0   ,  0    , 0   ,  0  ,   0   ,  0   ,  0  ,   0 ,    0 ,
     0   ,  0  ,   0,     0  ,   0   ,  0   ,  0   ,  0   ,  0  ,   0   ,  0  ,   0 ,
     0    , 0    , 0    , 0    , 0   ,  0   ,  0  ,   0 ,    0  ,   0  ,   0   ,  0 ,
     0   ,  0  ,   0 ,    0 ,    0  ,   0   ,  0  ,   0   ,  0 ,    0  ,   0  ,   0 ,
     0    , 0   ,  0    , 0    , 0   ,  0   ,  0   ,  0   ,  0   ,  0    , 0   ,  0 ,
     0   ,  0    , 0  ,   0 ,    0  ,   0  ,   0    , 0  ,   0  ,   0  ,   0 ,    0 ,
     0  ,   0   ,  0  ,   0   ,  0  ,   0   ,  0  ,   0  ,   0  ,   0    , 0 ,    0 ,
     0   ,  0   ,  0  ,   0   ,  0   ,  0  ,   0  ,   0 ,    0 ,    0  ,   0   ,  0 ,
     0   ,  0    , 0   ,  0  ,   0   ,  0    , 0    , 0  ,   0    , 0   ,  0  ,   0 ,
     0    , 0 ,    0  ,   0    , 0  ,   0   ,  0  ,   0   ,  0    , 0    , 0   ,  0 ,
     0   ,  0   ,  0   ,  0   ,  0  ,   0  ,   0  ,   0   ,  0    , 0 ,    0   ,  0 ,
     0   ,  0 ,    0 ,    0    , 0    , 0    , 0    , 0   ,  0    , 0   ,  0  ,   0 ,
     0   ,  0  ,   0    , 0   ,  0  ,   0   ,  0   ,  0  ,   1   ,  1    , 0  ,   0 ,
     0 ,    0 ,    0  ,   0 ,    0   ,  0 ,    0   ,  0  ,   0  ,   0 ,    0    , 0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     1  ,   1    , 0  ,   0   ,  0   ,  0,     0  ,   0  ,   0   ,  0  ,   0    , 0 , 
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 , 
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     1  ,   1    , 0    , 0   ,  0   ,  0   ,  0    , 0    , 0   ,  0  ,   0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0  ,   0     ,0   ,  0   ,  1  ,   1   ,  0    , 0    , 0   ,  0   ,  0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0 ,    0 ,    0  ,   0 ,    0   ,  0   ,  0  ,   0};
 
bool skel3[512]={
0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0   ,  0 ,    0 ,    0  ,   0    , 0   ,  0  ,   0 ,    0  ,   0 ,    0   ,  1, 
     0   ,  0   ,  0   ,  0  ,   0  ,   0 ,    0 ,    1  ,   0  ,   0   ,  0   ,  0 ,
     0    , 0   ,  0  ,   0  ,   0   ,  0  ,   0  ,   0 ,    0   ,  0 ,    0  ,   0 ,
     0   ,  0 ,    0    , 0  ,   0   ,  0 ,    0  ,   1  ,   0  ,   0   ,  0  ,   0 ,
     0  ,   0   ,  0   ,  1   ,  0    , 0   ,  0  ,   0  ,   0   ,  0  ,   0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0    , 0   ,  0   ,  0   ,  0   ,  0 ,    0};
 
bool skel4[512]={
0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0   ,  0   ,  1    , 1 ,    0  ,   0   ,  1   ,  1 ,    0    , 0   ,  0    , 0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0   ,  0   ,  0    , 0    , 0   ,  0   ,  1   ,  1  ,   0   ,  0  ,   1   ,  1 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0   ,  0    , 0     ,0    , 0    , 0   ,  0   ,  0};
 
 
bool skel5[512]={
0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0   ,  0   ,  0    , 0    , 0    , 0    , 0 ,    1   ,  0 ,    0   ,  0 ,
     0   ,  0   ,  0    , 0   ,  1   ,  0    , 0   ,  0,     0   ,  0   ,  0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0  ,   0  ,   0  ,   0  ,   1   ,  0  ,   0  ,   0 ,    0  ,   0  ,   0,     0 ,
     1   ,  0   ,  0  ,   0  ,   0   ,  0  ,   0  ,   0};

 
 
bool skel6[512]={
0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0  ,   0    , 1    , 1   ,  0   ,  0   ,  1   ,  1   ,  0   ,  0    , 0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0  ,   0  ,   0   ,  0  ,   0   ,  0  ,   1   ,  1   ,  0    , 0    , 1   ,  1 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0   ,  0    , 0  ,   0  ,   0   ,  0    , 0 ,    0};
 
 
bool skel7[512]={
0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0   ,  0    , 0   ,  0   ,  0   ,  0    , 0   ,  0   ,  1    , 0    , 1  ,   0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0   ,  0    , 0   ,  0  ,   1 ,    0   ,  1   ,  0  ,   0    , 0    , 0    , 0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0   ,  0    , 0   ,  0   ,  0    , 0   ,  0  ,   0};
 
 
 
bool skel8[512]={
0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0     ,0   ,  0   ,  0   ,  0   ,  0   ,  0   ,  0    , 1   ,  0    , 0    , 0 ,
     1   ,  0  ,   0  ,   0  ,   0   ,  0  ,   0   ,  0  ,   0  ,   0   ,  0  ,   0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     1   ,  0   ,  0  ,   0  ,   1  ,   0 ,    0  ,   0   ,  0    , 0   ,  0    , 0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     1    , 0    , 0    , 0  ,   1 ,    0   ,  0   ,  0   ,  0   ,  0    , 0    , 0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0  ,   0,     0    , 0    , 0   ,  0   ,  0    , 0  ,   0,     0   ,  0 ,
     0    , 0    , 0     ,0    , 1    , 0    , 0  ,   0    , 1   ,  0   ,  0    , 0 ,
     0    ,0     ,0   ,  0    , 0  ,   0  ,   0 ,    0};
  //bool imgTemp[576][720]={0};
     int i,j;
     bool **imgTemp;
imgTemp=new bool *[imgHeight];
 for (i=0;i<imgHeight;i++)
 {
 imgTemp[i]=new bool[imgWidth];
 }
 for (i=0;i<imgHeight;i++)
 {
 for (j=0;j<imgWidth;j++)
 {
 imgTemp[i][j]=FALSE;
 }
 }


    for(i=0;i<imgHeight;i++)
             for(j=0;j<imgWidth;j++)
imgTemp[i][j]=imgIN[i][j];

applylutc(imgTemp,skel1,imgOUT,imgHeight,imgWidth);

    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
  imgOUT[i][j]=!imgOUT[i][j];
    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
imgTemp[i][j]=imgTemp[i][j]&&imgOUT[i][j]; 
  
applylutc(imgTemp,skel2,imgOUT,imgHeight,imgWidth);

   for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
  imgOUT[i][j]=!imgOUT[i][j];
    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
imgTemp[i][j]=imgTemp[i][j]&&imgOUT[i][j];

applylutc(imgTemp,skel3,imgOUT,imgHeight,imgWidth);

    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
  imgOUT[i][j]=!imgOUT[i][j];
    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
imgTemp[i][j]=imgTemp[i][j]&&imgOUT[i][j];

applylutc(imgTemp,skel4,imgOUT,imgHeight,imgWidth);

    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
  imgOUT[i][j]=!imgOUT[i][j];
    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
imgTemp[i][j]=imgTemp[i][j]&&imgOUT[i][j];

applylutc(imgTemp,skel5,imgOUT,imgHeight,imgWidth);

    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
  imgOUT[i][j]=!imgOUT[i][j];
    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
imgTemp[i][j]=imgTemp[i][j]&&imgOUT[i][j];

applylutc(imgTemp,skel6,imgOUT,imgHeight,imgWidth);

    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
  imgOUT[i][j]=!imgOUT[i][j];
    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
imgTemp[i][j]=imgTemp[i][j]&&imgOUT[i][j];

applylutc(imgTemp,skel7,imgOUT,imgHeight,imgWidth);

    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
  imgOUT[i][j]=!imgOUT[i][j];
    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
imgTemp[i][j]=imgTemp[i][j]&&imgOUT[i][j];

applylutc(imgTemp,skel8,imgOUT,imgHeight,imgWidth);

    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
  imgOUT[i][j]=!imgOUT[i][j];
    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
imgTemp[i][j]=imgTemp[i][j]&&imgOUT[i][j];

   
//输出结果
  
    for(i=1;i<imgHeight-1;i++)
               for(j=1;j<imgWidth-1;j++)
  imgOUT[i][j]=imgTemp[i][j];

  
delete(imgTemp);

  
}

抱歉!评论已关闭.