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);
            }
        }
    }


  • 相关阅读:
    进程的常用方法
    进程创建&僵尸进程&孤儿进程
    进程基础
    操作系统的发展史
    UDP协议&socketserver模块
    socket套接字
    简述计算机网络
    day 7-8 协程
    __new__和__init__的区别
    day 7-22 进程,线程,协程
  • 原文地址:https://www.cnblogs.com/wishchin/p/9200441.html
Copyright © 2011-2022 走看看