OpenCV Python,为什么Hough Circle Transform找不到所有圆圈?

时间:2015-05-11 09:35:32

标签: python opencv geometry

我长时间搜索可能出错的内容,但我并不了解参数和预处理的影响 我无法发布图片,但是在一张非常清晰的欧元照片上,该程序识别出一些圈子,而不是其他一些圈子,甚至可以像其他人一样清楚。

这是我的代码:  '$'

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.app">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <application>

        <activity
            ...
        </activity>

    </application>

</manifest>

对不起,我希望有人可以帮助我,分享他的知识,我被剥夺了。

1 个答案:

答案 0 :(得分:1)

这看起来像你设置硬币的最小和最大半径是错误的。算法没有检测到较小的算法,因为它没有找到它们,并且它确实发现了误报,因为你将阈值设置为低,最大半径设置得太高。

查看this Tutorialthe documentation并使用参数min_radius和max_radius(使两者都更小)。您可以预先测量硬币的半径(以像素为单位)。

如果您仍然获得正面评价,请使用参数param1和param2。如果您想自动进行,请使用互相关。

看到你的灰度图像会很有趣。如果您的真实世界数据像硬币图像一样简单,那么您真的很幸运。在很多时候,最困难的部分是摆脱噪音。