OpenCV - 函数cvarrToMat中的未知数组类型

时间:2017-03-26 21:32:29

标签: c++ ios objective-c opencv uiimage

我在我的一个项目(iOS应用)中使用OpenCV。我正在尝试使用cvMatchTemplate(链接:Documentation)。出于某种原因,我收到了这个错误:

OpenCV Error: Bad argument (Unknown array type) in cvarrToMat, file /Volumes/build-storage/build/master_iOS-mac/opencv/modules/core/src/matrix.cpp, line 943
libc++abi.dylib: terminating with uncaught exception of type cv::Exception: /Volumes/build-storage/build/master_iOS-mac/opencv/modules/core/src/matrix.cpp:943: error: (-5) Unknown array type in function cvarrToMat

运行此代码:

cv::Mat mOriginal, mTemp,res;
UIImageToMat(original, mOriginal);
UIImageToMat(temp, mTemp);

// Crashing at this line
cvMatchTemplate(&mOriginal, &mTemp, &res, CV_TM_CCOEFF_NORMED);

非常感谢任何帮助。 谢谢。

1 个答案:

答案 0 :(得分:0)

@Miki过于谦虚地发表他的回答:)

Don't use obsolete C api. Use cv::matchTemplate

工作代码:

cvMatchTemplate(mOriginal, mTemp, res, CV_TM_CCOEFF_NORMED);