Android OpenCV 优化 - 线检测很慢 Hough Lines

标签 android opencv android-ndk hough-transform

在我的项目中,我需要检测图像中的线条。我实际上必须检测矩形内的行和列。我使用 OpenCV 来实现这一点。我已经成功地完成了它,但它有点慢。我使用许多功能来预处理图像 - 例如阈值,精明,膨胀,高斯模糊等。

我像这样使用 HoughLines

Imgproc.HoughLines(image, lines, 1, Math.PI/90 , threshold, minLineSize, maxGap);

完成我的程序大约需要 2.5 秒,它有大约 600 行。但在这一行上需要 2.2 秒。如您所见,我使用 Java 接口(interface)进行 OpenCV。是否有可能以某种方式对其进行优化?将我的程序重写为 NDK 会使其更快吗?如果我了解 OpenCV4Android,那么它只是用 NDK 编写的函数的包装器,所以我认为它不会更快。还是有更好更快的方法来检测图像中的线条?感谢您的任何建议。

最佳答案

你能数数从 HoughLines 返回的行数吗 - 如果有 1000 行,那么它可能需要那种时间来生成。

如果可能,我建议更改您的 Canny 设置以减少 HoughLines 需要处理的边数。

此外,您可以为 HoughLines 尝试不同的参数。我对 HoughLines 的调用分别为 80、30 和 10 的值似乎可以得到可管理的结果。

关于Android OpenCV 优化 - 线检测很慢 Hough Lines,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20553410/

相关文章:

c++ - 在 OpenCV 中处理大图像

c++ - UnsatisfiedLinkError 关于在 ndk r15 类中初始化的静态成员

c++ - Linux C++ : Linker is outputting strange errors

Android AlertDialog Builder 更好的代码

android - 严格模式 : StrictModeDiskReadViolation when creating SharedPreference

python - 如何在 Mac 上将 openCV 安装到 Enthought python 发行版中

android-studio - 自动从 NDK 库项目复制 .so 文件?

android - 如何强制 Marshmallow 打瞌睡?

Android:在 Activity 之间向前和向后传递消息

c++ - OpenCV:如何检测特定颜色的线条?