首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OSX Yosemite上安装Python2.7的OpenCV时出错-错误:没有匹配的函数

在OSX Yosemite上安装Python2.7的OpenCV时出错-错误:没有匹配的函数
EN

Stack Overflow用户
提问于 2016-09-12 10:29:59
回答 2查看 240关注 0票数 0

我使用这个指南在我的苹果电脑上安装OpenCV:http://www.pyimagesearch.com/2015/06/15/install-opencv-3-0-and-python-2-7-on-osx/

直到最后一步,一切都正常工作:

代码语言:javascript
复制
make install

当我收到此错误消息时:

代码语言:javascript
复制
/Users/Nirzvi/opencv_contrib/modules/aruco/src/aruco.cpp:1629:12: error: no matching function for call to 'calibrateCamera'
return calibrateCamera(processedObjectPoints, processedImagePoints, imageSize, _cameraMatrix,
       ^~~~~~~~~~~~~~~

/Users/Nirzvi/opencv/modules/calib3d/include/opencv2/calib3d.hpp:844:21: note: candidate function not viable: requires at most 9
  arguments, but 12 were provided

CV_EXPORTS_W double calibrateCamera( InputArrayOfArrays objectPoints,

安装过程立即停止,作为一个初级程序员,我不知道下一步该做什么。

EN

回答 2

Stack Overflow用户

发布于 2016-10-13 21:27:11

如果你使用的是this guide,记得在你的主文件夹中克隆opencv和opencv-contrib,而不是嵌套它们。很容易错过告诉您返回~/的指令

如上所述,确保你已经从git下载了匹配版本的opencv和opencv-contrib。

最后,确保cmake命令"OPENCV_EXTRA_MODULES_PATH“指向正确的"opencv_contrib”版本的路径。如果您只是将正确的版本拉到正确的路径,但不更新该值,它将继续尝试使用不正确的contrib版本。

注意:不推荐使用以下方法:作为绝对的最后手段,您可以始终导航到出错的cpp文件(在本例中为:/Users/Nirzvi/opencv_contrib/modules/aruco/src/aruco.cpp),并注释掉"calibrateCamera“调用及其周围的函数。你将无法使用这个函数,但是opencv有一大堆函数,如果你的项目不需要它,注释掉这个函数至少会让你在安装过程中走得更远。

票数 1
EN

Stack Overflow用户

发布于 2016-11-06 07:00:01

根据源码(opencv_contrib/modules/aruco/src/aruco.cppL1583~1585),他调用calibrateCamera like;

return calibrateCamera(processedObjectPoints, processedImagePoints, imageSize, _cameraMatrix, _distCoeffs, _rvecs, _tvecs, _stdDeviationsIntrinsics, _stdDeviationsExtrinsics, _perViewErrors, flags, criteria);

但第8至第10个参数是最近(2016-06-07)添加的功能(参见https://github.com/opencv/opencv/blame/master/modules/calib3d/src/calibration.cpp L3368~3374)。

这就是为什么即使您的OpenCV版本是3.1.0 (最新版本为2016-11-6),参数数量也不匹配。

执行这两项操作,并获得两个最新版本。

$ git clone https://github.com/Itseez/opencv.git

$ git clone https://github.com/Itseez/opencv_contrib.git

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39442642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档