jjzjj

HoughCircles

全部标签

houghcircles在OpenCV中无法正确检测到圆

我正在使用VisualStudio2015,OpenCv.3和Emgucv.3。我的代码在下面表示,结果显示在图片中。我知道问题是Houghcircles功能的输入值,但我不知道哪些输入适合此图片。感谢任何帮助。ImageOriginalImage=newImage(Openfile.FileName);ImageResizedImage=OriginalImage.Resize(OriginalImage.Width/2,OriginalImage.Height/2,Emgu.CV.CvEnum.Inter.Cubic);//**********ConvertImagetoBinaryIma

[C++] opencv - HoughCircles(霍夫圆查找)函数介绍和使用场景

HoughCircles函数HoughCircles函数用于在灰度图像中使用霍夫变换查找圆。该函数通过修改霍夫变换来实现,通常可以很好地检测出圆的中心,但可能无法找到正确的半径。可以通过指定半径范围(minRadius和maxRadius)来协助该函数,或者在#HOUGH_GRADIENT方法中将maxRadius设置为负数以仅返回圆心而不进行半径搜索,并使用其他过程找到正确的半径。此外,还可以对图像进行一定程度的平滑处理,除非它已经很软。例如,可以使用7x7内核和1.5x1.5sigma或类似的模糊处理来平滑图像。函数原型:CV_EXPORTS_WvoidHoughCircles(Input

java - 从 onCameraFrame、OpenCV、Android/Java 调用 HoughCircles() 方法时改变慢帧速率

在android中使用openCVJava方法检测图像中的圆形物体时帧速率极慢Imgproc.HoughCircles(mGray,circles,Imgproc.CV_HOUGH_GRADIENT,1,50);当我删除这个方法时它运行得很快,但是在这个回调中添加这个方法之后publicMatonCameraFrame(finalCvCameraViewFrameinputFrame){帧速率减慢到每秒1到2帧,我不明白为什么它变得这么慢,我尝试将此方法放在一个单独的线程中但它无济于事,唯一有效的方法是使用计数器和if语句每10帧运行该方法。在OpenCV示例中,有一个名为面部检测的示

OpenCV26HoughCircles 霍夫圆变换原理及圆检测

霍夫圆变换的基本原理与霍夫线变换大体类似对直线来说,一条直线能由极径极角(r,θ)表示,而对于圆来说,我们需要三个参数:圆心(a,b),半径r笛卡尔坐标系中圆的方程为:(x-a)2+(y-b)2=r2化简便可得到:a=x-r·cosθb=y-r·sinθ对于(x0,y0),我们可以将通过这一点的所有圆统一定义为:a=x0-r·cosθb=y0-r·sinθ这就意味着每一组(a,b,r)代表一个通过点(x0,y0)的圆。对于一个给定点(x0,y0),我们可以在三维直角坐标系中,绘出所有通过它的圆。最终我们将得到一条三维的曲线。我们可以对图像中所有的点进行上述操作.。如果两个不同点进行上述操作后得

c++ - OpenCV:防止 HoughCircles 方法使用 Canny 检测

我正在使用HoughCircles实时检测球,但在我的灰度图像流上运行Canny并没有按预期创建所有边缘。为了解决这个问题,我将rgb图像拆分为单独的channel,对每个channel执行Canny,然后使用按位或将边缘合并在一起。这工作得很好,但如果我将该边缘图像提供给HoughCircles,它将再次对边缘图像执行Canny。有没有办法防止这种情况,或者放弃我正在执行的rgbsplitCanny检测,同时仍然捕捉到所有边缘? 最佳答案 确实!Canny由HoughCircles内部执行并且无法调用cv::HoughCircle

iphone - 使用 HoughCircles 检测和测量瞳孔和虹膜

我正在尝试使用OpenCV,更具体地说是它的HoughCircles来检测和测量瞳孔和虹膜,目前我一直在使用函数中的一些变量,因为它要么返回0个圆圈,要么返回过多的圆圈.下面是我正在使用的代码和测试图像。虹膜测量代码:eye1=[selfincreaseIn:eye1Contrast:2andBrightness:0];cv::cvtColor(eye1,eye1,CV_RGBA2RGB);cv::bilateralFilter(eye1,eye2,75,100,100);cv::vectorcircles;cv::cvtColor(eye2,eye1,CV_RGBA2GRAY);cv

python - cv2.HoughCircles 的结果不可靠

我有一个包含5个油滴的视频,我正在尝试使用cv2.HoughCircles来找到它们。这是我的代码:importcv,cv2importnumpyasnpforeground1=cv2.imread("foreground1.jpg")vid=cv2.VideoCapture("NB14.avi")cv2.namedWindow("video")cv2.namedWindow("canny")cv2.namedWindow("blur")whileTrue:ret,frame=vid.read()subtract1=cv2.subtract(foreground1,frame)fram

python - 将 HoughCircles 与 Python OpenCV 一起使用时出现错误,缺少模块

这个问题在这里已经有了答案:howtousehoughcirclesincv2withpython?(3个答案)关闭7年前。我有一个小的测试代码块试图处理一张简单的照片,里面有一个球:#!/usr/local/bin/pythonimportcv2importnumpyasnpimg=cv2.imread("b.jpg")gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)circles=cv2.HoughCircles(gray,cv2.CV_HOUGH_GRADIENT)当我尝试运行它时,我得到:AttributeError:'module'objec

python cv2.HoughCircles 霍夫圆检测

HoughCircles使用与说明1.HoughCircles说明2.代码3.结果cv2提供了一种圆检测的方法:HoughCircles。该函数的返回结果与参数设置有很大的关系。检测的图像时9枚钱币,分别使用了阈值(大津法和三角法)、均值偏移滤波以及未处理图像。实验的结果是只要调整param1和param2两个参数,上述方法都能准确的识别图像中的圆形。与圆最贴切的是大津法阈值。使用该方法同时需要使用cv2.THRESHOLD_TRUNC。1.HoughCircles说明函数定义如下:HoughCircles(image,method,dp,minDist,circles=None,param1

java - 在 HoughCircles(), OpenCV 给出的一系列点上使用 warpPerspective()

我正在尝试从以透视角度拍摄的图像中检测台球在table上的位置。我正在使用getPerspectiveTransform()方法来查找变换矩阵,并且我只想将其应用于我使用HoughCircles检测到的圆。我试图从一个相当大的梯形形状变成一个较小的矩形形状。我不想先对图像进行转换,然后再找到HoughCircles,因为图像对于houghcircles来说太扭曲了,无法提供有用的结果。这是我的代码:CvMatmmat=cvCreateMat(3,3,CV_32FC1);doublesrcX1=462;doublesrcX2=978;doublesrcX3=1440;doublesrcX
12