ios ओपनसीवी त्रुटि: आईओएस पर असफलता विफल रही



objective-c opencv (1)

मुझे नहीं पता कि सीवी :: मेट ऑब्जेक्ट्स उद्देश्य सी में कैसे दिखते हैं, लेकिन आपको यह सुनिश्चित करने की ज़रूरत है कि क्लासिफायरफ़ाइल के साथ इस्तेमाल किए जाने वाले सभी आयाम, चैनल नंबर और गहराई एक समान है। शायद एक कदम पहले था जब आप क्लासिफायरियर को प्रशिक्षण छवियों के साथ खिलाया था। शायद उनमें से एक ऐसी चटाई के अनुरूप नहीं है, जिसे आप वर्गीकृत करने का प्रयास कर रहे हैं।

आप opencv के साथ डीबगिंग का प्रयास कर सकते हैं अगर आप इसे खुद संकलित करते हैं और सीमके में डीबग संस्करण सेट करते हैं।

मैं एक छवि में सबसे बड़ा ब्लॉब ढूंढने की कोशिश कर रहा हूं और इसे एक लिंक की गई plist फ़ाइल के अनुसार वर्गीकृत कर रहा हूं। मैं आईओएस के लिए ओपनसीवी के नवीनतम संस्करण का उपयोग कर रहा हूं, और मैंने कई संबंधित प्रश्नों को देखा है, लेकिन अब तक कोई भी आईओएस से संबंधित नहीं है।

मुझे यह त्रुटि मिल रही है:

OpenCV त्रुटि: बैच डिस्टेंस, फाइल / यूज़र्स / एडमिन / डेस्कटॉप / ओपनसीवी / ओपनसीवी त्रुटि: असेंस्टिंग असफल (प्रकार == src2.type () && src1.cols == src2.cols और& (प्रकार == CV_32F || टाइप == CV_8U) मॉड्यूल / कोर / src / stat.cpp, पंक्ति 4000

libc ++ abi.dylib: प्रकार सीवी :: अपवाद: /Users/admin/Desktop/OpenCV/modules/core/src/stat.cpp:4000: त्रुटि: (-215) प्रकार == src2 के बिना अपवाद अपवाद के साथ समाप्त। फ़ंक्शन बैच में type () && src1.cols == src2.cols और& (प्रकार == CV_32F || टाइप == 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

यहां समस्या क्या है?