2018年10月25日15:22:48
今天,通过测试霍夫圆变换参数。即
CV_EXPORTS_W void HoughCircles( InputArray image, OutputArray circles,
int method, double dp, double minDist,
double param1 = 100, double param2 = 100,
int minRadius = 0, int maxRadius = 0 );
改函数为opencv库中的基于霍夫变换的圆变换。其中参数主要为:
InputArray image, 输入图像
OutputArray circles, 输出圆向量
int method, 具体检测算法,HOUGH_STANDARD,HOUGH_PROBABILISTIC,HOUGH_MULTI_SCALE,HOUGH_GRADIENT
注,本次使用HOUGH_GRADIENT
double dp, 累加器大小,1为累加器等于输入大小,2为累加器等于输入大小的一半。使用1,2都不能正常显示圆
double minDist, 两个最近圆之间的距离 ,越小表示越精确
double param1 = 100, 此参数设为200,数值越小圆越多,计算时间大量增加
double param2 = 100, 数值越小圆越多,计算时间基本不变
int minRadius = 0, 圆最小半径
int maxRadius = 0 圆最大半径
实验该函数主要是为了方便边缘检测时圆边缘的大概位置,其中需要注意,该函数对于圆形的要求度很高,也就是说,对于不完全的圆可以找到圆心,对于完整的椭圆(拍摄时位置偏移)检测效果较低。