我試圖找到圖像中最大的斑點,並根據鏈接的plist文件對其進行分類。我正在使用最新版本的OpenCV for iOS,並且我已經查看了幾個相關的問題,但目前爲止還沒有涉及到iOS。當我運行這個OpenCV錯誤:iOS上的斷言失敗
OpenCV Error: Assertion failed (type == src2.type() && src1.cols == src2.cols && (type == CV_32F || type == CV_8U)) in batchDistance, file /Users/admin/Desktop/OpenCV/modules/core/src/stat.cpp, line 4000
libc++abi.dylib: terminating with uncaught exception of type cv::Exception: /Users/admin/Desktop/OpenCV/modules/core/src/stat.cpp:4000: error: (-215) type == src2.type() && src1.cols == src2.cols && (type == CV_32F || type == CV_8U) in function batchDistance
:
- (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
這裏有什麼問題?
斷言失敗的一個列出的屬性。找出哪一個,爲什麼並解決這個問題。你知道調試器是什麼嗎? – Piglet
@Piglet是的,但我不確定如何找到導致錯誤的屬性。 – fi12
您可以在stat.cpp中爲行3934添加一個斷點並查看這些值。 – Piglet