Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用广义hough变换比较任意形状_C++_Image Processing_Opencv_Hough Transform - Fatal编程技术网

C++ 使用广义hough变换比较任意形状

C++ 使用广义hough变换比较任意形状,c++,image-processing,opencv,hough-transform,C++,Image Processing,Opencv,Hough Transform,我使用广义霍夫变换来区分各种任意形状。我将要处理的几个形状如下所示: 我已成功实施了以下步骤: A)转型/培训阶段 i)获取二值图像的阈值 ii)使用cvFindContour获取轮廓 iii)计算每个边缘像素的距离“r”和梯度方向(φ) iv)创建R表 为每个形状创建一个R表数据库 B)识别 i)获取任意形状的轮廓 ii)计算每个边缘像素的梯度方向 iii)使用R-table构建蓄能器 我的问题是我该如何进一步 如何使用此累加器数据检测形状?基本上,一旦获得累加器图像,就必须找到其中的峰值,

我使用广义霍夫变换来区分各种任意形状。我将要处理的几个形状如下所示:

我已成功实施了以下步骤:

A)转型/培训阶段

i)获取二值图像的阈值 ii)使用cvFindContour获取轮廓 iii)计算每个边缘像素的距离“r”和梯度方向(φ) iv)创建R表

为每个形状创建一个R表数据库

B)识别

i)获取任意形状的轮廓 ii)计算每个边缘像素的梯度方向 iii)使用R-table构建蓄能器

我的问题是我该如何进一步


如何使用此累加器数据检测形状?

基本上,一旦获得累加器图像,就必须找到其中的峰值,即“投票数”最高的像素(或单元格),峰值应大致表示形状的位置


有很多关于广义Hough教程的教程,我喜欢M.Ulrich的论文中的一个,图4.3、4.4和4.5清楚地解释了这个主题。

基本上,一旦你有了累加器图像,你就必须找到其中的峰值,即“投票数”最高的像素(或单元),粗略地说,峰值应该代表形状的位置


有很多关于广义Hough教程的教程,我喜欢M.Ulrich的论文中包含的一个,图4.3、4.4和4.5清楚地解释了这个主题。

也许你可以要求,以便检测必须找到峰值(最大值)的形状在累加器图像中。为了检测形状,您可能需要在累加器图像中找到峰值(最大值)。