Ubuntu20.04编译安装Opencv4.5.5

46 篇文章 4 订阅
37 篇文章 4 订阅

平台:Ubuntu20.04

CMAKE: cmake3.22.0 cmake-gui

文件路径:

~/opencv455/dev
~/opencv455/opencv-4.5.5
~/opencv455/opencv_contrib-4.5.5

注意,我的编译路径是dev(相当于大家常用的build文件夹),配置和编译文件都在这里。

配置Opencv

准备好后

$ cmake-gui

进入配置界面,配置如下图所示,主要是要选好"where is the source code"和"where to build the binary“这两个选框,然后点击Configure;

这时会弹出一个对话框,我一般选择Unix Makefiles,当然你可以选择ninja(要安装ninja)工具,

第一次配置好了会有很多红色,不要紧,后面任何时候再按一次Configure就好了,


BUILD_opencv_world

看到上面的配置文件后,一般我推荐设置好下面的几个参数

1、勾选上BUILD_opencv_world

这在有多个Opencv版本的库文件时尤其重要,这时可以通过链接libopencv_world.so.4.5.5这样的库区别其他版本的库函数。

2、在CMAKE_BUILD_TYPE后填上:Release

这一点只要检查一下就可以了,默认就是Release的。当然如果你想调试Opencv的源码,也可以编译Debug版本。

3、勾选上OPENCV_ENABLE_NONFREE

opencv提供了很多有意思的算法,这些算法商业上有版权,但源码是公开的,你可以编译进去。

很多算法通常我也用不到,但万一想测试一下呢,那就不用重新编译了。

4、在OPENCV_EXTRA_MODULES_PATH后填上opencv-contrib/modules的路径,比如我的是:/home/mc/opencv455/opencv_contrib-4.5.5/modules

这个附加功能模块的位置,提供相当多有意思的算法。如果你只需要opencv的核心模块的话,这个是可以不填写的。

 Configure完了之后就可以正式配置了,按“Generate"那个按钮可以看到输出下面这样的字样,

Configure Done

Generate Done

编译安装

几乎没什么要说的,直接在~/opencv455/dev中开启一个终端,

$ cd dev #注意我前面创建的编译路径是opencv455/dev

$ nproc #查询线程数量
12

$ make -j12  #开始编译

$ sudo make install #安装

$ sudo make uninstall #如果想卸载
$ cd  ..
$ sudo rm -r dev

这样,opencv455就编译安装完成了。

问题

(1)使用时,cv::namedWindow报错

terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(4.5.5) /home/mc/opencv455/opencv-4.5.5/modules/highgui/src/window.cpp:1251: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvNamedWindow'

解决办法,

sudo apt install qt5-default (如果要用qt5)
sudo apt install libgtk2.0-dev

然后在cmake-gui中,选中

WITH_GTK (这个默认是选中的)

WITH_GTK_2_X

WITH_QT (没有选这个,貌似会有问题)

然后再配置编译项目就OK了。

参考资料

Ubuntu20.04编译安装Opencv4.5.5安装包报错:Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)_高精度计算机视觉的博客-CSDN博客

Ubuntu18:使用CMake-gui编译OpenCV3源码的详细过程_你卷我不卷的博客-CSDN博客

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值