OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
楼主: wawa

找圆算法((HoughCircles)总结与优化

  [复制链接]
发表于 2016-10-24 23:05:18 | 显示全部楼层
亲爱的楼主你好,void ExtendCV::FindCircles(cv::InputArray _image, cv::vector<circle_found>& _circles, float dp, int min_dist,        int low_threshold, int high_threshold, int acc_threshold, int minRadius, int maxRadius,        float minScore, cv::InputArray _contour_image)有11个参数,而你的调用ExtendCV::FindCircles(testMat, found, 1, 1, 183, 332, 10, 68, 73, 0.5);只有10个,怎么得到的结果呀。
回复 支持 反对

使用道具 举报

发表于 2016-10-27 10:31:03 | 显示全部楼层
学习了,谢谢楼主
回复 支持 反对

使用道具 举报

发表于 2016-10-28 13:17:17 | 显示全部楼层
胡海兵 发表于 2016-10-24 23:05
亲爱的楼主你好,void ExtendCV::FindCircles(cv::InputArray _image, cv::vector& _circles, float dp, in ...

最后一个参数默认有值的
void FindCircles( cv::InputArray _image, vector<circle_found>& _circles,float dp, int min_dist,
        int low_threshold, int high_threshold,int acc_threshold,int minRadius, int maxRadius,
        float minScore, cv::InputArray _contour_image=cv::Mat() );
回复 支持 反对

使用道具 举报

发表于 2016-10-28 14:34:25 | 显示全部楼层
本帖最后由 hehainan86 于 2016-10-28 15:24 编辑
susanlt 发表于 2016-4-7 16:53
你好呀,想问下关于你的那个霍夫找圆的那个问题,就是我的事VS2015,OPENCV3.1.0我在看程序的时候,一直遇到 ...

opencv3.0的也找不到这个函数,干脆自己实现就好。

void icvHoughSortDescent32s(int* sort, int count, int* data)
{
         for (int i = 0; i < count; i++){
                 //寻找当前的最大值
                 int maxValue = data[sort];
                 int pos = i;
                 for (int j = i + 1; j < count; j++){
                         if (data[sort[j]] > maxValue){
                                 //交换
                                 maxValue = data[sort[j]];
                                 pos = j;
                         }
                 }
                 //如果有较大的值出现,交换
                 if (pos != i){
                         swap(sort, sort[pos]);
                 }
         }
}

*******************类似冒泡排序,但该方法就是比较耗时**************
回复 支持 反对

使用道具 举报

发表于 2016-10-30 15:19:30 | 显示全部楼层
计算量是很大~
回复 支持 反对

使用道具 举报

发表于 2016-10-30 21:36:45 | 显示全部楼层
jinq 发表于 2016-1-20 10:45
楼主,您好,我用VS2015+opencv2.4.10运行您的代码,FindCircles函数退出时出现
Invalid address specified ...

#include "stdafx.h" 这个没有呢 报错怎么运行的呢
回复 支持 反对

使用道具 举报

发表于 2016-11-8 14:43:56 | 显示全部楼层
wawa 发表于 2016-4-19 20:11
其实这个最优的精度也不是很高,只能减少明显找错的几率,如果需要非常高的精度,建议通过该算法粗定位, ...

请问 你说的筛选检测到的圆的边缘,具体怎么做法  网上查找好像没有相关解答
回复 支持 反对

使用道具 举报

发表于 2016-11-10 13:12:33 | 显示全部楼层
学习了,支持
回复 支持 反对

使用道具 举报

发表于 2016-11-12 15:31:48 | 显示全部楼层
边缘提取决定了最终效果
回复 支持 反对

使用道具 举报

发表于 2016-11-23 08:37:06 | 显示全部楼层
好人啊,楼主!今天就看你的代码了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-28 22:53 , Processed in 0.010708 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表