C+中的Grassfire算法+; 谁知道如何在C++中执行草火?< /P>

C+中的Grassfire算法+; 谁知道如何在C++中执行草火?< /P>,c++,opencv,C++,Opencv,我正在使用OpenCV库链接中的伪代码如何 事情是这样的: for each row in image left to right for each column in image top to bottom if(pixel is in region){ set pixel to 1 + minimum value of the north east neighbours }else{ set pixel to zero

我正在使用OpenCV库

链接中的伪代码如何

事情是这样的:

 for each row in image left to right
    for each column in image top to bottom
      if(pixel is in region){
        set pixel to 1 + minimum value of the north east neighbours
      }else{
        set pixel to zero
      }
    }
  }

  for each row right to left
    for each column bottom to top
      if(pixel is in region){
        set pixel to min(value of the pixel,1 + minimum value of the south west neighbours)
      }else{
        set pixel to zero
      }
    }
  }

链接中的伪代码呢

事情是这样的:

 for each row in image left to right
    for each column in image top to bottom
      if(pixel is in region){
        set pixel to 1 + minimum value of the north east neighbours
      }else{
        set pixel to zero
      }
    }
  }

  for each row right to left
    for each column bottom to top
      if(pixel is in region){
        set pixel to min(value of the pixel,1 + minimum value of the south west neighbours)
      }else{
        set pixel to zero
      }
    }
  }

距离变换的区别是什么?有一个名为的函数,可能可以帮助您。

距离变换有什么不同?有一个名为的函数,可能可以帮助您。

因此这是我目前用于BLOB提取的grassfire的修改版本。它获取一个数字化的(已修改的图像,使所有值都是1或0)并返回一个具有最大值的边界框向量。代码相当长,但它位于src/cvLib.cpp文件中的公共repo中。还要注意,bounding box是我自己编写的一个类,所以您也需要它。它的源文件位于src文件夹中,头文件位于include目录中,因此请务必同时获取这两个文件。

因此,这是我当前用于BLOB提取的grassfire的修改版本。它获取一个数字化的(已修改的图像,使所有值都是1或0)并返回一个具有最大值的边界框向量。代码相当长,但它位于src/cvLib.cpp文件中的公共repo中。还要注意,bounding box是我自己编写的一个类,所以您也需要它。它的源代码在src文件夹中,头文件在include目录中,所以一定要抓取这两个文件