c语言 连通域算法 递归,递归函数求连通域

本文详细介绍了使用C语言实现四连通和八连通邻域的递归连通域算法。通过定义邻域类型和搜索方向,提供了一个递归函数`ConnectRegion`用于对图像矩阵中的像素点进行连通域搜索。函数会根据给定的连通类型(4连通或8连通)递归地遍历邻接点,并标记已访问过的像素,以找到所有与起始点连通的点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要介绍:利用递归函数,求四连通和八连通邻域。

一、变量定义

1.定义邻域类型

int m_linkType = 4 // 4表示4连通邻域 8表示8连通邻域

2.定义搜寻方向

POINT posDir[8];

posDir[0].x=0; posDir[0].y = -1; //上

posDir[1].x=0; posDir[1].y=1; //下

posDir[2].x=-1; posDir[2].y=0; //左

posDir[3].x=1;posDir[3].y=0; //右

posDir[4].x=-1; posDir[4].y=-1; //左上

posDir[5].x=1;posDir[5].y=-1; //右上

posDir[6].x=-1;posDir[6].y=1; //左下

posDir[7].x=1;posDir[7].y=1; //右下

二、对某一点求连通域函数

/******************************************************************

功能:对某个像素点,用递归函数求连通域

参数:

Inimg :输入图像矩阵

Flag :像素点有没有遍历过标志 0 表示没有 非0表示有

如果对连通域编号,可以赋值为编号值

row :像素点行

col :像素点列

Width :图像矩阵宽

Height:图像矩阵行

Value :起始点像素值

*****

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值