mayo20102012 发表于 2014-4-18 10:30:36

求一个检测多圆圆心的算法,(附多圆图片)

求一个 检测 多圆 圆心的算法,。。。

hmd420304805 发表于 2014-4-18 14:28:07

如果你的是单色图,用openCV的霍夫变换可以找出来,我有例程,但是会内存溢出,我以前想在项目上用,最终放弃

mayo20102012 发表于 2014-4-18 15:02:40

hmd420304805 发表于 2014-4-18 14:28
如果你的是单色图,用openCV的霍夫变换可以找出来,我有例程,但是会内存溢出,我以前想在项目上用,最终放 ...

额 我的图像是三通道的,是CCD相机采集得到的。。估计

mayo20102012 发表于 2014-4-18 15:03:34

hmd420304805 发表于 2014-4-18 14:28
如果你的是单色图,用openCV的霍夫变换可以找出来,我有例程,但是会内存溢出,我以前想在项目上用,最终放 ...

24位真彩色的。。

mayo20102012 发表于 2014-4-18 15:06:02

hmd420304805 发表于 2014-4-18 14:28
如果你的是单色图,用openCV的霍夫变换可以找出来,我有例程,但是会内存溢出,我以前想在项目上用,最终放 ...

但是我实际应用的时候,圆形标定板可能经透视编程椭圆,你有什么好的算法或者思路 检测多椭圆的中心吗?拜谢大神。。

mayo20102012 发表于 2014-4-18 15:15:48

hmd420304805 发表于 2014-4-18 14:28
如果你的是单色图,用openCV的霍夫变换可以找出来,我有例程,但是会内存溢出,我以前想在项目上用,最终放 ...

我可以参考下你的程序么?如果可以的话。。

lans0625 发表于 2014-4-18 20:13:13

mayo20102012 发表于 2014-4-18 15:03
24位真彩色的。。

先变换成灰度图再处理。。。。

lans0625 发表于 2014-4-18 20:15:58

可以根据霍夫变换原理,自己写代码找椭圆。。。。。。

bangtian 发表于 2014-4-18 20:37:33

这个用OpenCV很简单的, 先cvFindContours轮廓提取,然后对每个封闭的轮廓,调用cvFitEllipse2椭圆拟合,就可以求出圆心了, 还可以用拟合圆来判断你的图像上的圆是否有缺陷。

mayo20102012 发表于 2014-4-18 20:57:25

lans0625 发表于 2014-4-18 20:15
可以根据霍夫变换原理,自己写代码找椭圆。。。。。。

我想的跟你一样,是想自己写代码的。。但感觉有点复杂。,,。

mayo20102012 发表于 2014-4-18 20:58:33

bangtian 发表于 2014-4-18 20:37
这个用OpenCV很简单的, 先cvFindContours轮廓提取,然后对每个封闭的轮廓,调用cvFitEllipse2椭圆拟合,就 ...

这个函数可以检测多个椭圆的圆心么?

mayo20102012 发表于 2014-4-18 21:03:54

bangtian 发表于 2014-4-18 20:37
这个用OpenCV很简单的, 先cvFindContours轮廓提取,然后对每个封闭的轮廓,调用cvFitEllipse2椭圆拟合,就 ...

关键是opencv的函数对图像有要求的吧,要求是单通道图像,我的图像是CCD相机采集的 是24位真彩色图像。。要使用opencv的话 还不能直接使用。

lans0625 发表于 2014-4-18 21:07:38

不复杂呀,理解了霍夫变换原理,C&C++就10...20行关键代码{:tongue:}{:tongue:}{:tongue:}

lydmom 发表于 2014-4-18 21:09:06

{:dizzy:}强大, 看不懂

mayo20102012 发表于 2014-4-18 21:18:27

lans0625 发表于 2014-4-18 21:07
不复杂呀,理解了霍夫变换原理,C&C++就10...20行关键代码 ...

如果只是检测一个椭圆的话,貌似确实不复杂,但是要检测多个椭圆,还得快速,看过几种别人的算法, 感觉有点。。。

lans0625 发表于 2014-4-18 22:05:18

检测多个椭圆也不复杂,要快速的确很难。。。。

bangtian 发表于 2014-4-18 22:24:40

mayo20102012 发表于 2014-4-18 21:03
关键是opencv的函数对图像有要求的吧,要求是单通道图像,我的图像是CCD相机采集的 是24位真彩色图像。。 ...

OpenCV图像是有要求的, 你的24位彩色图,先cvCvtColor转换成灰度图,再cvThreshold二值化,就可以用了。 但是OpenCV的东西都是在PC上跑的,如果要在FPGA上实现,就太难了。

bygreencn 发表于 2014-4-18 22:45:06

给个例子,也许有用http://opencv-code.com/tutorials/detecting-simple-shapes-in-an-image/

lologame 发表于 2014-4-18 22:52:27

用霍夫变换吧,原理不难。

hmd420304805 发表于 2014-4-19 16:34:25

cvFindContours 就是这个函数,例子很简单 看看教程就可以做了,主要注意内存溢出

1552844464 发表于 2014-4-19 18:19:48

MARK一下{:lol:}{:lol:}{:lol:}

mayo20102012 发表于 2014-4-20 10:26:18

hmd420304805 发表于 2014-4-19 16:34
cvFindContours 就是这个函数,例子很简单 看看教程就可以做了,主要注意内存溢出 ...

我已经用opencv的函数进行了多椭圆拟合,谢谢。。。
页: [1]
查看完整版本: 求一个检测多圆圆心的算法,(附多圆图片)