首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse在使用GaussianBlur和OpenCV用于Android时会产生错误。

Eclipse在使用GaussianBlur和OpenCV用于Android时会产生错误。
EN

Stack Overflow用户
提问于 2013-03-04 18:13:55
回答 2查看 5.4K关注 0票数 7

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

代码语言:javascript
复制
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获得的错误是:

代码语言:javascript
复制
The method GaussianBlur(Mat,Mat,Size,double,double) in 
the type imgproc is not applicable for the arguments (Mat,Mat,CameraSize,int,int)

我使用的是经过编辑的tutorial3摄像头控制版本(OpenCV用于AndroidVersion2.4.4),其中输出显示为Canny的边缘检测。我需要GaussianBlur来消除一些较小的细节。有谁知道这行代码到底出了什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-06 17:25:06

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

票数 2
EN

Stack Overflow用户

发布于 2013-05-04 11:58:38

这个代码很好用。只需根据需要重新排序参数即可。

代码语言:javascript
复制
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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15208184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档