opencv ios



OpenCV錯誤:在iOS上斷言失敗 (1)

我不知道cv :: Mat對像如何在目標c中查找,但是您需要確保與分類器一起使用的圖像的所有維度,通道數目和深度都是統一的。 當你用訓練圖像餵食分類器時,可能以前有一個步驟。 也許其中之一是不兼容你試圖分類的墊子。

如果您自己編譯並在CMake中設置調試版本,您可以嘗試使用opencv進行調試。

我試圖找到一個圖像中最大的斑點,並根據鏈接的plist文件進行分類。 我正在使用最新版本的OpenCV for iOS,並且已經查看了幾個相關的問題,但目前為止還沒有涉及到iOS。

我得到這個錯誤:

OpenCV錯誤:斷言失敗(類型== src2.type()&& src1.cols == src2.cols &&(type == CV_32F || type == CV_8U))in batchDistance,file / Users / admin / Desktop / OpenCV / modules / core / src / stat.cpp,第4000行

libc ++ abi.dylib:以類型cv :: Exception的未捕獲異常終止:/Users/admin/Desktop/OpenCV/modules/core/src/stat.cpp:4000:error:(-215)type == src2。在函數batchDistance中鍵入()&& src1.cols == src2.cols &&(type == CV_32F || type == CV_8U)

當我運行這個:

- (IBAction)CaptureButton:(id)sender
  {
       // Find the biggest blob.
       int biggestBlobIndex = 0;
       for (int i = 0, biggestBlobArea = 0; i < detectedBlobs.size(); i++)
       {
          Blob &detectedBlob = detectedBlobs[i];
          int blobArea = detectedBlob.getWidth() * detectedBlob.getHeight();
          if (blobArea > biggestBlobArea)
          {
              biggestBlobIndex = i;
              biggestBlobArea = blobArea;
          }
       }

       Blob &biggestBlob = detectedBlobs[biggestBlobIndex];

       // Classify the blob.
       blobClassifier->classify(biggestBlob); // the error occurs here
  }

我在最後一行中調用的classify在另一個文件中聲明:

void classify(Blob &detectedBlob) const;

這是來自stat.cpp的相關代碼:

Mat src1 = _src1.getMat(), src2 = _src2.getMat(), mask = _mask.getMat();
int type = src1.type();

CV_Assert( type == src2.type() && src1.cols == src2.cols &&
           (type == CV_32F || type == CV_8U)); // this is line 4000

這裡有什麼問題?