zoukankan      html  css  js  c++  java
  • OpenCV: 图像连通域检测的递归算法

    序言:清除链接边缘,可以使用数组进行递归运算;

            连通域检测的递归算法是定义级别的检测算法,且是无优化和无语义失误的。


    同样可用于寻找连通域

    void ClearEdge(CvMat* MM,CvPoint pStart,float value)//清除边缘函数
    {
    
        float m_value = value;
        int xNum[8] = {1,1,0,-1,-1,-1,0,1};
        int yNum[8] = {0,1,1,1,0,-1,-1,-1};
        //亮点,使用数组取代条件查找。。。
        CvPoint p;
        int x = p.x = pStart.x;
        int y = p.y = pStart.y;
    
        for(int k=0 ;k<8 ;k++)
        {
            int yy = y + yNum[k];
            int xx = x + xNum[k];
            if (cvmGet(MM, yy ,xx) == m_value)
              
            {
                pStart.x = xx;
                pStart.y = yy;
                //该点设为边界点        //进行清除!!!设为白点
                cvmSet( MM ,yy,xx,255.0);
             
                //以该点为中心再进行跟踪
                ClearEdge(MM,pStart,value);
                //TraceEdge(yy,xx,nThrLow,pResult,pMag,sz);
            }
        }
    }


  • 相关阅读:
    Java8新特性学习笔记(一) Lambda表达式
    android游戏动画特效的一些处理
    start from here
    感知机回归
    2020/2/21
    梯度下降
    凸优化
    批量归一化和残差网络
    Momentum
    词嵌入基础
  • 原文地址:https://www.cnblogs.com/wishchin/p/9200441.html
Copyright © 2011-2022 走看看