C++ 有没有什么办法可以;近似值;OpenCV中圆的其余部分?

C++ 有没有什么办法可以;近似值;OpenCV中圆的其余部分?,c++,opencv,image-processing,C++,Opencv,Image Processing,我试图在一些图片中发现圆圈,但圆圈并不总是完美的。这使得使用houghCircles非常不切实际,因为它似乎只支持几乎完美的圆。所以现在我在寻找一种“修复”我的圆圈的方法 出于复制目的: 首先,我对图片进行阈值设置,以获得二进制图片: cv::threshold(输入、输出、threshvalue、1、cv::THRESH\u BINARY\u INV); 阈值化后,我使用以下方法检测Hough圆: std::向量圆; 霍夫圆(二元图像,圆,cv::HOUGH_梯度,1100,30,26,45

我试图在一些图片中发现圆圈,但圆圈并不总是完美的。这使得使用
houghCircles
非常不切实际,因为它似乎只支持几乎完美的圆。所以现在我在寻找一种“修复”我的圆圈的方法

出于复制目的:

首先,我对图片进行阈值设置,以获得二进制图片:

cv::threshold(输入、输出、threshvalue、1、cv::THRESH\u BINARY\u INV);
阈值化后,我使用以下方法检测Hough圆:

std::向量圆;
霍夫圆(二元图像,圆,cv::HOUGH_梯度,1100,30,26,45);

我认为您应该显示一个,这样每个人都可以看到您使用的过滤类型等。在应用不同的过滤器后显示原始图片和结果也可能有助于使用OpenCV的人发现需要执行的操作。请查看RANSAC圆检测:应用前(Hough圆或圆拟合)过滤那些斑点或边,只保留圆弧。。。顺便提一下,有一种新的hough算法(hough_GRADIENT_ALT)如果您使用的是最新的OpenCV版本。我认为您应该显示一个,这样每个人都可以看到您使用的过滤类型等。在应用不同的过滤器后显示原始图片和结果也可以帮助使用OpenCV的人发现需要做什么。请在应用之前查看RANSAC circle detection(Hough圆或圆拟合)过滤那些斑点或边,只保留圆弧…顺便说一句,如果使用最新的OpenCV版本,则有一种新的Hough算法(Hough_GRADIENT_ALT)。