ubuntu18.04下opencv4.5.1的安装

1. 安装依赖文件

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
注意: 此时libjasper-dev安装可能会报错,可以不用管
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install ffmpeg

2. 解压缩包及编译准备

(1)在home目录新建一个opencv文件夹
sudo mkdir opencv

(2)将opencv-4.5.1.tar.gz,opencv_contirb-4.5.1.tar.gz以及OpenCV_boostdesc_file移动到opencv目录下并且使用tar解压
tar -zxvf opencv-4.5.1.tar.gz
tar -zxvf opencv_contirb-4.5.1.tar.gz

(3)将opencv_contrib-4.5.1文件夹移动到opencv-4.5.1文件夹中
sudo cp -r opencv_contrib-4.5.1 opencv-4.5.1

(4)在opencv-4.5.1文件夹中新建一个build文件夹并且进入
cd opencv-4.5.1
sudo mkdir build
cd build

(5)使用命令生成makefile文件
sudo cmake -D CMAKE_BUILD_TYPE=Release -D  CMAKE_INSTALL_PREFIX=/usr/local -D  OPENCV_EXTRA_MODULES_PATH=/home/china/opencv/opencv-4.5.1/opencv_contrib-4.5.1/modules/ ..
ps:不要遗忘末尾的..

3.正式开始编译

(1)执行编译命令
sudo make -j4
ps:请给虚拟机分配足够的运行空间

(2)第一次报错的处理:进入OpenCV_boostdesc_file文件夹 把缺少的文件复制到目标路径
cd /home/china/opencv/OpenCV_boostdesc_file
​
sudo cp *  ../opencv-4.5.1/opencv_contrib-4.5.1/modules/xfeatures2d/src/

(3)继续编译
cd /home/china/opencv/opencv-4.5.1/build
​
sudo make -j4

(4)第二次报错的处理:进入OpenCV_boostdesc_file文件夹 把缺少的文件复制到目标路径
cd /home/china/opencv/OpenCV_boostdesc_file
​
sudo cp -r opencv-4.5.1/modules/features2d/ opencv-4.5.1/opencv_contrib-4.5.1/modules/xfeatures2d/test/

(5)完成编译 看到显示编译进度100% 并且进行安装
cd /home/china/opencv/opencv-4.5.1/build
​
sudo make -j4
​
sudo make install

4.环境配置

(1)重新打开一个终端

(2)修改opencv.conf文件
sudo vim /etc/ld.so.conf.d/opencv.conf
​
在文件中加入
/usr/local/lib
​
保存退出
​
sudo ldconfig

(3)修改bashrc文件
sudo vim /etc/bash.bashrc
​
在文件末尾添加写入:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkg-config
​
保存退出
​
执行更新命令:
source /etc/bash.bashrc
sudo updatedb

(4)测试输出opencv版本号和可用库
pkg-config --modversion opencv
​
pkg-config --libs opencv

(5)寻找opencv.pc文件
sudo find / -name "opencv.pc"
此时发现找不到

(6)进入到usr/local/lib文件夹下自己创建pkg-config目录,并且在pkg-config目录下创建opencv.pc文件
cd usr/local/lib
​
sudo mkdir pkg-config
​
vim opencv.pc

(7)自己编写opencv.pc文件
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include/opencv4
​
Name: opencv
Description: Open Source Computer Vision Library
Version: 4.5.1
Libs: -L${libdir} -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio
//这里根据项目需求自行链接库 配置可用库
Cflags: -I${includedir}
(8)保存退出

5.正式测试

(1)编写测试程序test.cpp
#include <opencv2/opencv.hpp>
​
int main()
{
    // 创建 VideoCapture 对象,用于打开摄像头
    cv::VideoCapture cap(0);
​
    // 检查摄像头是否成功打开
    if (!cap.isOpened()) {
        std::cout << "无法打开摄像头" << std::endl;
        return -1;
    }
​
    cv::Mat frame;
​
    // 循环读取和显示视频帧
    while (true) {
        // 从摄像头中获取一帧图像
        cap.read(frame);
​
        // 检查是否成功获取到图像
        if (frame.empty()) {
            std::cout << "无法获取摄像头帧" << std::endl;
            break;
        }
​
        // 在窗口中显示图像
        cv::imshow("摄像头", frame);
​
        // 按下 ESC 键退出循环
        if (cv::waitKey(1) == 27) {
            break;
        }
    }
​
    // 释放摄像头并关闭窗口
    cap.release();
    cv::destroyAllWindows();
​
    return 0;
}
​

(2)编译运行,若摄像头正常打开并且显示成功则opencv已经配置完毕
g++ test.cpp -o test `pkg-config --cflags --libs opencv`
​
sudo ./test

(3)若摄像头没有打开请检查vm摄像头是否连接以及摄像头配置

调用本机摄像头:

  1. 首先wins+R输入 services.msc 打开本地服务列表,确保 VMware USB Arbitration Service服务开启

  2. 打开VMware ,依次进入虚拟机设置

  3. USB兼容性选择3.1(必需)

  4. 开机进入linux系统,此时可以进行camera连接,选择与主机连接

  5. 这样就可以使用了,下次调用时,先进行步骤4连接就可以用了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值