簡體   English   中英

雙向過濾器錯誤,聲明失敗((src.type()== CV_8UC1 || src.type()== CV_8UC3)&& src.data!= dst.data)

[英]Bilateral filter error, Assertion failed ((src.type() == CV_8UC1 || src.type() == CV_8UC3) && src.data != dst.data)

我的代碼如下所示:

    Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.image1);
    int width = b.getWidth();
    int height =  b.getHeight();
    Mat tmp = new Mat (width, height, CvType.CV_8UC3);
    Mat tmp2 = tmp.clone();
    Utils.bitmapToMat(b, tmp);
    Imgproc.bilateralFilter(tmp,tmp2,10,50,10);

並給出以下錯誤,

OpenCV錯誤:斷言失敗((src.type()== CV_8UC1 || src.type()== CV_8UC3)&& src.data!= dst.data)在空cv :: bilateralFilter_8u(const cv :: Mat&,cv :: Mat&,int,double,double,int),文件/Volumes/Linux/builds/master_pack-android/opencv/modules/imgproc/src/smooth.cpp,第3145行

請問我的代碼出了什么問題,非常感謝!

我遇到了同樣的問題,在閱讀了一些文檔之后,我找到了解決方案。 您從位圖讀取的Mat的類型不是8UC1或8UC3,因此您應該將其轉換為8UC3

Imgproc.cvtColor(originalMat,originalMat,Imgproc.COLOR_BGRA2BGR);

現在您可以使用bilateralFilter :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM