macos12.6安装配置opencv4.6.0+opencv contrib4.6.0

1.系统准备好,安装依赖python版本高一点的,并且安装上numpy。

brew install cmake gui及cmake,可能装cmake gui的时候有点问题,先装gui再装cmake。

2.提前下载源码,Releases - OpenCV要求opencv与opencv contrib版本一致。在线也可以,就是怕网不稳定,中间出错。

GitHub - opencv/opencv at 4.6.0
 
   

 

  3 放在自己想安装的地方。

4 在想安装目录下新建文件夹,如build,建议放到opencv文件夹下。
5 打开cmake gui界面,在源码和目标文件夹填入对应地址,
​(图传不上,mmp)
6 点击config,会让选择一个编译环境,选unix makefile,选xcode不生成makefile文件。
这期间可能会出错,根据实际情况查,这次比较幸运,成功了。

7 config成功后,选择opencv extend modules地址,填入一起下载的opencv contrib modules的地址,选上它上面那一栏,选上build opencv world,安装地址relese就好,这样不用配置环境变量。

再次编译。
8 编译成功后,点generat,成功后暂时不用管cmake gui这里了。
9从刚才新建的安装文件夹,本次安装是build文件夹,进入终端,然后输入make,此过程用时很长(1-2小时),而且过程会出很多错。
  1. 找不到ffmpeg xxx,电脑没安装,或者安装的版本不匹配,4.6opencv4.xffmpegbrew uninstall ffmpeg,然后brew install ffmpeg@4.不知道是不是这个原因,反正后来没报这个错了;
  2. 没有编译zlib xxxrule,查到的是和系统安装的冲突,卸载homebrew(怎么可能卸,开玩笑),或者取消选择这一项,然后取消选择build zlib。重新config generate,重新make,,后来这一项不报错了。
  3. /Users/christon/Applications/opencv/opencv_contrib-4.6.0/modules/sfm/src/libmv_light/libmv/simple_pipeline/bundle.cc:553:37: error: cannot initialize a parameter of type 'ceres::LocalParameterization *' with an lvalue of type 'ceres::SubsetManifold *'
         解决办法:Use ceres::Manifolds instead of ceres::LocalParameterization. by vrabaud · Pull Request #3243 · opencv/opencv_contrib · GitHub
如果还报错,暂时取消build world,最后再config generate一次,我反复编译了好几次。
终于没啥问题了。
10 make后,输入sudo make install ,直接输make install 会导致一些东西没权限,报错。
然后就装好啦。上一次放弃的加这次,总共用了大概3天。
男默女泪。。。

你可能感兴趣的:(MAC,opencv,opencv,人工智能,计算机视觉)