Ubuntu20.04安装OpenCV3(图解亲测)

1. 下载opencv与安装cmake
1.1安装cmake
终端执行下面语句,安装cmake
sudo apt-get install cmake
1.2 安装依赖环境

点击查看代码
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
1.3 下载opencv3 (opencv4下面的安装方法可能不好使了就) 下载地址:

https://opencv.org/releases/

点击Sources进行下载自己需要的版本

2. 安装
2.1 解压文件
解压后,将文件夹放自己喜欢的地方,我就放在了Downloads~下

2.2 进入到解压后的文件夹下
在opencv-3.2.0文件夹下新建build文件夹
终端运行
mkdir build
进入build文件夹下
cd build

2.3 进行cmake
在build目录下运行
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
2.4 进行编译
接下来时一个漫长的等待过程,大概需要等10分钟,不要多虑
sudo make -j8
可以使用sudo make -j 8 、sudo make -j4 、sudo make
我这里就使用sudo make 了
编译opencv3.2.0报错:

2-错误原因:缺少几个关键的宏定义
3-解决方法
在相应头文件中添加宏定义即可,如图可以看到是cap_ffmpeg_impl.hpp
opencv-3.2.0/modules/videoio/src/cap_ffmpeg_impl.hpp
中添加

点击查看代码
#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020

编译出错问题2: `/home/minuy/download/opencv-3.2.0/modules/python/src2/cv2.cpp:730:34: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] 730 | char* str = PyString_AsString(obj);`

解决方法:
编辑 opencv-3.2.0/modules/python/src2/cv2.cpp 文件,更改第730行:

点击查看代码
bool pyopencv_to(PyObject* obj, String& value, const char* name)  
{  
    (void)name;  
    if(!obj || obj == Py_None)  
        return true;  
    char* str = (char *)PyString_AsString(obj);//这是文件的第730行,更改这行,在=后面加(char *)
    if(!str)  
        return false;  
    value = String(str);  
    return true;  
}
删除build文件夹后重新编译 再执行 `sudo make install ` 3. 配置环境 3.1 修改ld.so.conf文件 用gedit打开/etc/ld.so.conf 在文件中加上一行 /usr/loacal/lib 其中/user/loacal是opencv安装路径也就是makefile中指定的安装路

终端执行
sudo gedit /etc/ld.so.conf
输入:
include /usr/local/lib
保存退出

运行下面语句刷新库链接配置
sudo ldconfig
3.2 修改bash.bashrc文件
终端运行
sudo gedit /etc/bash.bashrc
在文件末尾加入:

点击查看代码
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

然后在命令行中输入刷新

source /etc/bash.bashrc
4.检验是否安装成功
在命令行中输入如下命令
pkg-config opencv --modversion

如图所示,出现版本号就安装成功了。

posted @ 2024-06-25 12:36  阳光天气  阅读(173)  评论(0编辑  收藏  举报