1

我正在尝试在 Android 上的第一个 OpenCV 应用程序中使用中值模糊。它是“图像操作”示例应用程序的修改。除了我实现的 medianBlur 之外,一切都运行得很好。当我的应用程序在设备上运行时,我从菜单中选择了 medianBlur 选项,然后整个应用程序崩溃了。这是我的应用程序中的 medianBlur 实现代码:

 case ImageManipulationsActivity.VIEW_MODE_MEDIAN:
   capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA); 
    if (mRgbaInnerWindow == null || mGrayInnerWindow == null)
       CreateAuxiliaryMats();
 Imgproc.medianBlur(mGrayInnerWindow, mIntermediateMat, 2);
 Core.convertScaleAbs(mIntermediateMat, mIntermediateMat, 10, 0);
 Imgproc.cvtColor(mIntermediateMat, mGrayInnerWindow, Imgproc.COLOR_GRAY2BGRA, 4);
 break;

你能告诉我代码有什么问题吗?与 medianBlur 实现相关的其他代码行应该是正确的,因为它们的编写方式与应用程序的其他功能(如 Canny 过滤器)相同。你能给我一个示例代码如何在 OpenCV for Android 中使用中值模糊过滤器吗?我是 OpenCV 和 Android 编程的新手,所以请原谅我犯的任何错误

4

1 回答 1

1
  1. 捕捉异常。
  2. 阅读文档以了解方法参数的有效值。文档明确指出光圈大小必须是奇数且大于 1,但您将其设置为 2。
于 2012-12-27T21:30:24.407 回答