Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse在Android的OpenCV中使用GaussianBlur时出错_Java_Android_Opencv_Gaussian - Fatal编程技术网

Java Eclipse在Android的OpenCV中使用GaussianBlur时出错

Java Eclipse在Android的OpenCV中使用GaussianBlur时出错,java,android,opencv,gaussian,Java,Android,Opencv,Gaussian,我发布了我的一小部分代码,因为我一直收到一个奇怪的错误,我似乎无法摆脱。问题可以在这行找到:Imgproc.GaussianBlur(mGray,mGray,新尺寸(5,5),2.2,2) public Mat onCameraFrame(Mat inputFrame) { mGray = new Mat(); Imgproc.cvtColor(mRgba, mGray, Imgproc.COLOR_RGBA2GRAY); // doing a gaussian

我发布了我的一小部分代码,因为我一直收到一个奇怪的错误,我似乎无法摆脱。问题可以在这行找到:Imgproc.GaussianBlur(mGray,mGray,新尺寸(5,5),2.2,2)

public Mat onCameraFrame(Mat inputFrame) {
    mGray = new Mat();
    Imgproc.cvtColor(mRgba, mGray, Imgproc.COLOR_RGBA2GRAY);    
    // doing a gaussian blur prevents getting a lot of false hits
    Imgproc.GaussianBlur(mGray, mGray, new Size (5,5), 2.2, 2);
    // Values 3 and 4are the LowerThreshold and UpperThreshold.
    Imgproc.Canny(inputFrame, mIntermediateMat, 80, 100);
    Imgproc.cvtColor(mIntermediateMat,mRgba, Imgproc.COLOR_GRAY2BGRA, 4);
    return mIntermediateMat;
}
我从Eclipse中得到的错误是:

The method GaussianBlur(Mat,Mat,Size,double,double) in 
the type imgproc is not applicable for the arguments (Mat,Mat,CameraSize,int,int)

我使用的是经过编辑的tutorial3 Camera control(Android版本2.4.4的OpenCV),输出显示为Canny的边缘检测。我需要高斯模糊处理一些小细节。有人知道这行代码到底出了什么问题吗

我从Alexander Smorkalov那里得到了这个解决方案,它成功了。只需更改Imgproc.GaussianBlur(mGray,mGray,新大小(5,5),2.2,2);到Imgproc.GaussianBlur(mGray,mGray,new org.opencv.core.Size(5,5),2.2,2)

我从Alexander Smorkalov那里得到了这个解决方案,它成功了。只需更改Imgproc.GaussianBlur(mGray,mGray,新大小(5,5),2.2,2);到Imgproc.GaussianBlur(mGray,mGray,new org.opencv.core.Size(5,5),2.2,2)

此代码工作正常。只要根据需要对参数重新排序即可

Imgproc.GaussianBlur(mGray, mGray, new Size(15,15),50);
大小意味着您将使用它作为内核大小。此外,内核大小必须奇数50表示X方向上的内核标准偏差

公式:
sigma=0.3*((kSize-1)*0.5-1)+0.8


这里sigma超过50,因此sigmaX=sigmaY=50

此代码工作正常。只要根据需要对参数重新排序即可

Imgproc.GaussianBlur(mGray, mGray, new Size(15,15),50);
大小意味着您将使用它作为内核大小。此外,内核大小必须奇数50表示X方向上的内核标准偏差

公式:
sigma=0.3*((kSize-1)*0.5-1)+0.8

此处西格玛通过50,因此sigmaX=sigmaY=50