OpenCVAndroid Imgproc.GaussianBlur应用程序已停止

rro*_*onm 2 android opencv gaussian filter

我是新手OCV和android开发者.我想在我的应用程序中使用Imgproc.GaussianBlur过滤器.当我使用它时,应用程序发送"应用已停止".我只在"OpenCV Tutorial 3 - Camera Control"中添加了3行:

public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
    Mat mat = inputFrame.gray();
    org.opencv.core.Size s = mat.size();
    Imgproc.GaussianBlur(mat, mat, s, 2);
    return mat;
}
Run Code Online (Sandbox Code Playgroud)

可能有什么不对?我有联想A820 Android 4.1.2并在OpenCV 2.4.4,2.4.5和2.4.6上试用过它.我尝试了不同的API.该Imgproc.Sobel(mat,mat,-1,1,1);过滤器工作良好.

ber*_*rak 6

看看GaussianBlur 的文档

它说:"ksize - 高斯内核大小.ksize.width和ksize.height可以不同,但​​它们都必须是正数和奇数."

所以,imho,你把内核大小和Mat的大小混淆了,试试类似:

Mat mat = inputFrame.gray();
org.opencv.core.Size s = new Size(3,3);
Imgproc.GaussianBlur(mat, mat, s, 2);
return mat;
Run Code Online (Sandbox Code Playgroud)