【问题标题】:Increase performance in Android OpenCV project提高 Android OpenCV 项目的性能
【发布时间】:2012-06-29 08:58:27
【问题描述】:

我正在开发基于安卓手机的盲人货币识别系统。为此,我使用 OpenCV 作为图像处理框架。我实现了一个正方形检测模块,它运行良好。

手机摄像头每秒释放 30 帧,所以处理速度真的很慢。我使用精明的边缘检测算法(用于正方形检测)。输出结果在Android SurfaceView 中绘制。有什么建议可以加快速度吗?用GLSurfaceView 替换SurfaceView 怎么样?它会提高速度吗?

我的设备有双核处理器。 多核编程怎么样?(安卓)

我的设备是三星 Galaxy S2。

【问题讨论】:

  • 据我所知,SurfaceView仅用于软件渲染。您应该考虑使用 OpenGL 来实现硬件加速。
  • 硬件加速,我想知道的确切点。在这种情况下会有所帮助吗??
  • 正如@Astor 所说,只有在性能损失与渲染有关时才会对您有所帮助,否则您应该改进图像处理代码。

标签: android opencv opengl-es computer-vision multicore


【解决方案1】:

很难说 OpenGL 是否会大大提高速度(是的,OpenGL 肯定更快)。

您为什么不对您的应用程序进行基准测试,以了解在绘图和 OpenCV 计算上花费了多少时间?

例如:

  • 加载一张图像并进行 n 次 OpenCV 计算(不显示)
  • 加载同一张图片并显示 n

比较结果。如果 OpenCV 需要(大约)80% 的时间,那么您肯定需要改进您的 OpenCV 算法。否则尝试使用 OpenGL 显示图像。

【讨论】:

    猜你喜欢
    • 2012-09-23
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多