这里记一下开始入手OpenCV碰到的一些问题以及解决办法。学习参考书是《OpenCV 4 计算机视觉项目实战(原书第2版)》,ISBN:978-7-111-63164-4。

Ubuntu 16.04下安装

构建安装原书最主要的两个命令和测试命令是:

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/full/path/to/opencv-4.0./build -D INSTALL_C_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D OPEN_EXTRA_MODULES_PATH=/full/path/to/opencv_contrib-4.0./modules ..
$ cp /full/path/to/opencv-4.0./build/lib/pkgconfig/opencv.pc /usr/local/lib/pkgconfig/opencv4.pc
$ cd /full/path/to/opencv-4.0./samples/cpp
$ g++ -ggdb `pkg-config --cflags --libs opencv4` opencv_version.cpp -o /tmp/opencv_version && /tmp/opencv_version

这里面会碰到几个问题:

下载ippicv_2019_lnx_intel64_general_20180723.tgz会被卡住

这个不算是国内问题,是cmake缺省不支持https的问题。这里有关于这个问题的说明。我只做了

$ sudo apt-get install libcurl4-openssl-dev

cmake就应该可以成功了

复制opencv.pc的时候,会找不到opencv.pc

似乎opencv认为pkg-config包管理器已经落伍,所以缺省是不会生成该文件的。要生成该命令,需要修改cmake命令,打开产生opencv.pc的选项:

$ cmake ... -D OPENCV_GENERATE_PKGCONFIG=ON ..

编译测试程序出错

这里面有几个错误,1) 需要c++11; 2) 连接找不到cv::CommandLineParser类的一些函数,解决方法是:

$ export LD_LIBRARY_PATH=/full/path/to/opencv-4.0./build/lib
$ g++ -std=c++ -ggdb opencv_version.cpp `pkg-config --cflags --libs opencv4` -o /tmp/opencv_version && /tmp/opencv_version

cmake找不到新编译安装的opencv

在编译第二章的示例程序的时候,会发现cmake会失败,需要把CMakeLists.txt的寻找opencv包命令这句修改为:

FIND_PACKAGE( OpenCV 4.1. REQUIRED PATHS /home/opencv/4.1. )
 
 
 
 

最新文章

  1. OpenCASCADE Job - Shoe Doctor
  2. UI-切圆角、透明度、取消按钮点击高亮效果、按钮文字带下划线
  3. AngularJS学习 01进入Angular世界
  4. 【Java每日一题】20161209
  5. 【亚瑟士 ASICS 系列】
  6. HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
  7. SpringMvc_快速入门,深入分析
  8. oracle 日期问题
  9. scala集合
  10. c 深度剖析 3
  11. xls数据导入sqlite数据库
  12. (转)Spring MVC
  13. CSS中.和#区别
  14. MVC 5 下,应用log4net收集异常信息
  15. 【 D3.js 入门系列 — 3 】 做一个简单的图表!
  16. 中间件(Middleware)
  17. yii2.0面包屑的使用及启用中文
  18. path和classpath的区别
  19. Centos7安装美团SQL优化工具SQLAdvisor
  20. 移动端 h5开发相关内容总结(三)

热门文章

  1. echart 饼图图例legend支持滑动
  2. Message Unable to compile class for JSP
  3. WinForm和WPF中注册热键
  4. Spring Boot 中使用 WebSocket 实现一对多聊天及一对一聊天
  5. C++ 全局变量 静态变量 全局函数 静态函数
  6. 软件设计分为结构化设计(SD)
  7. C语言I博客作业12-学期总结
  8. 在Bean中获取spring 容器 并通过容器获取容器中其他bean
  9. TIDB学习资料
  10. [转帖][Linux]systemd和sysV