/*该程序实现对联通域标记和统计联通域数目的功能*/
//32是图像的大小,可改
signal=0;
for(i=0;i<32;i++)//标记有人区域
for(j=0;j<32;j++)
{
if(j+1<=32 && i+1<=32 && j-1>=0 && i-1>=0)//在图像区域内
{
if(image[i][j]==max_r)//如果该点为目标点
{
min_signal=1000;
if(image[i][j-1]==0 && image[i-1][j-1]==0 && image[i-1][j]==0 && image[i-1][j+1]==0)//该点的左边,左上,上边,右上四个点都为0
{
signal++;//标记数+1
image[i][j]=signal;//将标号赋值给image[i][j]
}
else//边点编号有非0数
{
bian_dian[0]=image[i][j-1];
bian_dian[1]=image[i-1][j-1];
bian_dian[2]=image[i-1][j];
bian_dian[3]=image[i-1][j+1];
for(num_bian_dian=0;num_bian_dian<4;num_bian_dian++)
{
if(bian_dian[num_bian_dian]!=0)//选出最小标号赋值给image[i][j]
{
if(min_signal>bian_dian[num_bian_dian])
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载