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;
}
相关文章:
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软件包 则依次执行以下命令 sud…...
Web 器学习笔记(基础)
Filter 过滤器 概念:表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一 作用:顾名思义可以过滤资源的请求,并实现特殊的需求 Filter 接口及它核心的 doFilter() 方法(执行前就是…...
uniapp中vue3使用uni.createSelectorQuery().in(this)报错
因为VUE3中使用setup没有this作用域,所以报错 解决办法:使用getCurrentInstance()方法获取组件实例 import { getCurrentInstance } from vue;const instance getCurrentInstance(); // 获取组件实例 const DOMArr uni.createSelectorQuery().in(ins…...
k8s-部署
1.k8s 集群与部署 更改所有主机名字和解析 k8s1 192.168.25.11 reg.westos.org,habbor 仓库 k8s2 192.168.25.12 master,k8s 集群控制节点 k8s3 192.168.25.13 node,k8s 集群工作节点 k8s4 192.168.25.14 node,k8s 集群工作节点 所有节…...
Arduino驱动MMA7260三轴加速度传感器(惯性测量传感器篇)
目录 1、传感器特性 2、控制器和传感器连线图 3、驱动程序 Arduino驱动MMA7260三轴加速度传感器芯片,可以应用到摩托车和汽车放倒报警、遥控航模、游戏手柄、人形机器人跌倒检测、硬盘冲击保护、倾斜度测量等场合。 1...
奇舞周刊第507期:通过 View Transition API 在状态之间添加丰富的过渡动画
记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 通过 View Transition API 在状态之间添加丰富的过渡动画 W3C 2023 年度全球技术大会 (TPAC2023) 于今年9月 11 - 15 日召开。W3C CSS 工作组成员 Bramus Van Damme(Google) 为本届…...
如何通过技术变现
技术变现是指将技术转化为实际价值的过程。以下是几种常见的技术变现方式: 软件开发与销售:根据市场需求开发软件,并将其销售给需要的企业或个人。专利许可与授权:将技术成果申请专利,通过专利许可和授权给企业使用&a…...
高效查询大量快递信息,轻松掌握技巧
在如今快节奏的生活中,快递已经成为我们日常不可或缺的一部分。然而,对于一些忙碌的人来说,单个查询每一个快递单号可能会浪费太多时间。因此,我们需要一款可以帮助我们批量查询快递的软件。 在市场上,有很多款专门用于…...
iperf3: error - unable to connect to server: No route to host 但嵌入式Linux设备
起因 需要测试WIFI设置为802.11n制式能否输出40MHZ带宽去做CE认证 需要一台设备WIFI 设置为STA模式 一台设备WIFI设置为AP模式 用STA模式的设备去连接AP模式的设备才能产生40MH带宽 起初用了一台设备做STA模式设备(设备A)来测试没问题了,要换一台设备做STA设备(设备…...
OpenCV自学笔记十七:傅里叶变换
1、Numpy实现傅里叶变换 傅里叶变换(Fourier Transform)是一种将信号从时域转换到频域的数学变换。它将一个连续或离散的时域信号分解为一组正弦和余弦函数的复合。 在Python中,可以使用NumPy库来实现傅里叶变换。具体步骤如下:…...
uniapp如何判断是哪个(微信/APP)平台
其实大家在开发uniapp项目的时候长长会遇到这样一个问题,就是针对某些小程序,没发去适配相关的功能,所以要针对不同的平台,进行不同的处理。 #ifdef : if defined 仅在某个平台编译 #ifndef : …...
网络安全——(黑客)自学
想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客!!! 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队…...
一拖三快充线(USB-C转三充)的解决方案--LDR6020P
DR6020P 是带有 3 组 6 路 DRP USB-C 及 PD 通信协议处理模块和 USB2.0 Device 功能的 16 位 RISC MCU,内置 8K16 位 MTP 程序存储器(可烧录 1000 次),512 字节的数据存储器(SRAM)。内置 LDO 5V 输出&#…...
2024年考研教育专业的教育综合考试大纲、样题和往年真题
根据教育部通知,2024年全国硕士研究生招生考试初试定于2023年12月23日至24日,即我们说的2024年考研时间为12月23-24日。距离现在只剩下3个月不到的时间,那么如何让我们在最后三个月内的复习和备考有效且高效呢? 结合很多清北复交研…...
算法之斐波那契数列
10.1 斐波那契数列 题目链接 牛客网 题目描述 求斐波那契数列的第 n 项,n < 39。 解题思路 如果使用递归求解,会重复计算一些子问题。例如,计算 f(4) 需要计算 f(3) 和 f(2),计算 f(3) 需要计算 f(2) 和 f(1),…...
关于Pandas数据分析
pandas的数据加载与预处理 数据清洗:洗掉脏数据 整理分析:字不如表 数据展现:表不如图 环境搭建 pythonjupyter anaconda Jupyter Notebook Jupyter Notebook可以在网页页面中直接编写代码和运行代码, 代码的运行结果也会直接在代码块下显示…...
Go 并发可视化解释 - sync.Mute
在学习 Go 编程语言时,您可能会遇到这句著名的格言:“不要通过共享内存来进行通信;相反,通过通信来共享内存。” 这句话构成了 Go 强大并发模型的基础,其中通道(channels)作为协程之间的主要通信…...
十几张高清世界地图
十几张高清世界地图 仅供学习!...
Python 逢七拍手游戏
"""逢七拍手游戏介绍:逢七拍手游戏的规则是:从1开始顺序数数,数到有7,或者是7的倍数时,就拍一手。例如:7、14、17......70......知识点:1、循环语句for2、嵌套条件语句if/elif/e…...
Windows安装Mysql--免安装版
在Windows系统上安装免安装版MySql的步骤 官方下载地址:https://dev.mysql.com/downloads/mysql/ 将下载好的文件“mysql-5.7.18-winx64”解压缩到C盘的 目录下: 配置环境变量: (略) 正式安装,添加my.i…...
解决Figma英文界面障碍:FigmaCN插件本地化方案全解析
解决Figma英文界面障碍:FigmaCN插件本地化方案全解析 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 对于中文设计师而言,Figma的英文界面常常成为高效工作的拦路…...
LumiPixel Canvas Quest多模态探索:结合文本描述生成特定场景人像
LumiPixel Canvas Quest多模态探索:结合文本描述生成特定场景人像 1. 效果亮点预览 LumiPixel Canvas Quest在理解复杂文本描述并生成对应场景人像方面展现出惊人的能力。输入一段详细的场景描述,模型就能生成高度符合文本意境且细节丰富的图像。比如输…...
告别Flask和Django!用FastAPI + Pydantic 5分钟搞定带自动验证的用户注册API
5分钟用FastAPIPydantic构建带智能验证的用户注册系统 还在为Flask中冗长的数据验证逻辑头疼?或是被Django表单的复杂性困扰?现代Python开发早已进化到"声明即验证"的新范式。今天我们将彻底告别手动编写if username and len(password)>8的…...
3个高效步骤完整清理游戏客户端残留文件:SteamCleaner专业使用指南
3个高效步骤完整清理游戏客户端残留文件:SteamCleaner专业使用指南 【免费下载链接】SteamCleaner :us: A PC utility for restoring disk space from various game clients like Origin, Steam, Uplay, Battle.net, GoG and Nexon :us: 项目地址: https://gitcod…...
【Nginx】Nginx防盗链的配置详解
前情提要:本篇博客详细介绍了防盗链,以及配置盗链盗取网站资源和配置防盗链防止别人盗取两种示例,通过本篇博客你可以学会利用nginx配置盗链和防盗链环境清单真实服务主机:172.25.254.10/24盗链主机:172.25.254.11/24一…...
【Matlab】综合能源系统多能流优化调度
【Matlab】综合能源系统多能流优化调度 一、引言 在“双碳”目标与能源结构转型的双重驱动下,综合能源系统(Integrated Energy System, IES)作为整合电力、热力、天然气、冷能等多种能源形式的新型能源载体,凭借“多能互补、协同优化”的核心优势,成为破解能源供需矛盾、…...
MPI并行编程避坑指南:实现Cannon算法时,你的进程通信真的高效吗?
MPI并行编程实战:Cannon算法性能调优的五大关键陷阱 当你第一次在集群上运行Cannon算法时,是否遇到过这样的场景:代码逻辑完全正确,计算结果也准确无误,但性能提升却远低于预期?或者更糟——程序莫名其妙地…...
千问3.5-27B指令微调指南:让OpenClaw更懂你的需求
千问3.5-27B指令微调指南:让OpenClaw更懂你的需求 1. 为什么需要定制化模型? 去年冬天,当我第一次用OpenClaw整理桌面文件时,发现一个有趣现象:当我输入"把上周的会议记录整理到项目文件夹"时,…...
AI驱动的下一代云ERP:SAP Cloud ERP 2602 更新亮点小结
大家好,SAP Cloud ERP 2602版本更新了!2602的一个核心特点,是在保持标准化 SaaS 的前提下,将“嵌入式 AI 自然语言交互 Agentic AI”有机结合,让用户可以在熟悉的业务流程中,以对话方式完成信息查询、数据…...
GTE-Chinese-Large镜像免配置实战:从启动到API调用的全流程详细步骤
GTE-Chinese-Large镜像免配置实战:从启动到API调用的全流程详细步骤 1. 镜像概述与核心价值 GTE-Chinese-Large是阿里达摩院推出的专门针对中文场景优化的文本向量化模型。这个镜像最大的特点就是开箱即用——所有依赖环境、模型文件、Web界面都已经预先配置好&am…...
