vscode基于cmake安装opencv库

一、安装相关依赖库

首先更新源

复制代码
sudo apt update

安装相关包

复制代码
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libjasper

若是报错:无法定位到 libjasper软件包

则依次执行以下命令

复制代码
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

安装常用图像工具包

复制代码
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev

安装视频I/O包

复制代码
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

安装gtk2.0

复制代码
sudo apt install libgtk2.0-dev
sudo apt install pkg-config

优化函数包

复制代码
sudo apt-get install libatlas-base-dev gfortran
sudo apt install libcanberra-gtk-module

二、安装OpenCV

1、在OpenCV官网下载sources。

https://opencv.org/releases/

2、解压完成后,在当前目录下会生成opencv-x.x.x文件夹

3、新建一个编译目录build,并进入。

4、进行cmake-make编译

复制代码
cmake ..
make -j2

5、添加动态库

终端输入:sudo gedit /etc/ld.so.conf添加动态库

/usr/local/lib

终端输入:sudo ldconfig

修改 bash.bashrc 文件,打开文件后在文末加入以下两行代码

复制代码
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

6、OpenCV测试

终端进入:/home/sen/motan/postprocess/third_parties/opencv-4.8.0/samples

复制代码
cmake .
make
./opencv_example

三、配置VSCODE

cmakelists.txt输入:

复制代码
set(OpenCV_DIR /home/sen/motan/postprocess/third_parties/opencv-4.8.0/build)
find_package(OpenCV REQUIRED)#REQUIRED是find_package命令的一个选项,它指定了一个库是否是必需的
include_directories(${OpenCV_INCLUDE_DIRS})
message(${OpenCV_INCLUDE_DIRS})
message(${OpenCV_LIBS})
target_link_libraries(HelloWorld PUBLIC ${OpenCV_LIBS})

四、调用摄像头

复制代码
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <iostream>
using namespace cv;
using namespace std;
 
int main()
{
    // 视频保存位置
    string outputVideoPath = "./test.avi";  
 
    // 打开摄像头
    VideoCapture capture0(0);  
 
    VideoWriter outputVideo;
    
    // 获取摄像机帧率
    int fps = capture0.get(CAP_PROP_FPS);  
 
    // 获取当前摄像头的视频信息
    cv::Size S = cv::Size((int)capture0.get(CAP_PROP_FRAME_WIDTH),
                          (int)capture0.get(CAP_PROP_FRAME_HEIGHT));
    // 打开视频路径,设置基本信息 open函数中你参数跟上面给出的VideoWriter函数是一样的
    outputVideo.open(outputVideoPath, cv::VideoWriter::fourcc('X', 'V', 'I', 'D'), fps, S, true);
 
    if (!outputVideo.isOpened()) {
        cout << "fail to open!" << endl;
        return -1;
    }
 
    // 图片帧
    cv::Mat frameImage;
    int count = 0;
 
    while(true){
        // 读取当前帧
        capture0 >> frameImage;
        if(frameImage.empty()) break;
        ++count;
        // 输出当前帧
        cv::imshow("output", frameImage);
        // 保存当前帧
        outputVideo << frameImage;
        if (char(waitKey(1)) == 'q') break;
    }
	return 0;
}
相关推荐
夜流冰21 小时前
VSCode - 显示EOL字符的插件
ide·vscode·编辑器
啊湘1 天前
vscode 使用 github (适用CURSOR等使用)
ide·vscode·github·cursor·mcp
云堆客栈1 天前
基于vscode的markdown编辑器部署方案
ide·vscode·编辑器
OpenMiniServer1 天前
AI + GitLab + VSCode:下一代开发工作流的革命性集成
人工智能·vscode·gitlab
dust_and_stars1 天前
ubuntu24 安装vscode
ide·vscode·编辑器
Destiny_where1 天前
Claude VSCode插件版接入强大的GLM(无需登录注册claude code)
ide·人工智能·vscode·编辑器·claude code
__雨夜星辰__1 天前
VScode免密远程连接到Ubuntu(VMware17环境)虚拟机
ide·vscode·ubuntu
编码小哥1 天前
OpenCV特征匹配:暴力匹配与FLANN匹配实战
人工智能·opencv·计算机视觉
A尘埃1 天前
OpenCV常用方法介绍
人工智能·opencv·计算机视觉
hixiong1231 天前
C# OpenvinoSharp部署DDDDOCR验证码识别模型
opencv·c#·ocr·openvino