摄像头原始数据读取——opencv(cv::VideoCapture)

server/2024/11/27 12:46:58/

opencvcvVideoCapture_0">摄像头原始数据读取——opencv(cv::VideoCapture)

测试代码test.cpp

#include <iostream>
#include <string>#include <opencv2/opencv.hpp>std::string pixeformatcodec2string(int codec)
{char pixeformat_name[5] = { (char)((codec >> 0) & 0xFF),(char)((codec >> 8) & 0xFF),(char)((codec >> 16) & 0xFF),(char)((codec >> 24) & 0xFF), '\0' };return std::string(pixeformat_name);
}int main(int argc, const char** argv)
{cv::VideoCapture cap;   //打开video0设备,即/dev/video0     cap.open(0,cv::CAP_V4L2);std::cout<<"video width="<<cap.get(cv::CAP_PROP_FRAME_WIDTH)<<std::endl<<"video height="<<cap.get(cv::CAP_PROP_FRAME_HEIGHT)<<std::endl<<"video fps="<<cap.get(cv::CAP_PROP_FPS)<<std::endl<<"video pixeformat="<<pixeformatcodec2string((unsigned int)cap.get(cv::CAP_PROP_FOURCC))<<std::endl;//设置视频设备格式cap.set(cv::CAP_PROP_FRAME_WIDTH, 1280);cap.set(cv::CAP_PROP_FRAME_HEIGHT, 720);cap.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('Y', 'U', 'Y', 'V'));cap.set(cv::CAP_PROP_FPS, 10);std::cout<<std::endl;std::cout<<"video width="<<cap.get(cv::CAP_PROP_FRAME_WIDTH)<<std::endl<<"video height="<<cap.get(cv::CAP_PROP_FRAME_HEIGHT)<<std::endl<<"video fps="<<cap.get(cv::CAP_PROP_FPS)<<std::endl<<"video pixeformat="<<pixeformatcodec2string((unsigned int)cap.get(cv::CAP_PROP_FOURCC))<<std::endl;if (!cap.isOpened()){std::cerr<<"video open failed"<<std::endl;return -1;}cv::namedWindow("Video", 1);cv::resizeWindow("Video",cv::Size(1280,720));for (;;){cv::Mat frame;//获取视频帧数据cap >> frame; if (frame.empty()){return 0;}//显示图像        cv::imshow("Video", frame);if (cv::waitKey(25) >= 0){break;}}cv::destroyAllWindows();cap.release();return 0;
}

http://www.ppmy.cn/server/145332.html

相关文章

VOLO实战:使用VOLO实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度&#xff0c;DP多卡&#xff0c;EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

测试岗位应该学什么

以下是测试岗位需要学习的一些关键内容&#xff1a; 1. 测试理论和方法 - 了解不同类型的测试&#xff0c;如功能测试、性能测试、压力测试、安全测试、兼容性测试等。 - 掌握测试策略和测试计划的制定。 2. 编程语言 - 至少熟悉一种编程语言&#xff0c;如 Python、Java…

行业分析---2024年小鹏汽车AI Day及三季度财报

1 背景 在之前的博客中&#xff0c;笔者撰写了多篇行业类分析的文章&#xff08;科技新能源&#xff09;&#xff1a; 《行业分析---我眼中的Apple Inc.》 《行业分析---马斯克的Tesla》 《行业分析---造车新势力之蔚来汽车》 《行业分析---造车新势力之小鹏汽车》 《行业分析-…

【Linux系统编程】第五十弹---构建高效单例模式线程池、详解线程安全与可重入性、解析死锁与避免策略,以及STL与智能指针的线程安全性探究

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、将日志加到线程池 1.1、Thread类 1.2、ThreadPool类 1.2.1、HandlerTask() 1.2.2、其他公有成员函数 1.3、主函数 2、…

ansible playbook安装nacos

目录 1.创建nacos应用相关的用户 2.创建rocketmq所需目录任务 3.安装JDK1.8、python以及虚拟环境安装PyMysql(用于执行数据库脚本) 4. 解压nacos 5.创建nacos数据库 6.上传sql文件 7.创建数据库表 8.启动nacos 9.nacos集群主机ip配置 10.变量配置 11.配置nacos.yml 更…

C# 结构体

文章目录 前言一、结构体的定义与基本使用&#xff08;一&#xff09;定义结构体&#xff08;二&#xff09;结构体的使用示例 二、C# 结构的特点&#xff08;一&#xff09;丰富的成员类型&#xff08;二&#xff09;构造函数相关限制与特性&#xff08;三&#xff09;继承方面…

【Android】android compat理解

1&#xff0c;前提 即便是在同一手机上安装的不同apk&#xff0c;其编译的apk不同&#xff0c;也会导致行为上的差异。如SDK34有限制后台启动&#xff0c;但如果安装的apk所依赖的sdk是33&#xff0c;则不会表现出此差异。这是如何实现的呢&#xff1f;其实&#xff0c;本质是…

分布式kettle调度平台v6.4.0新功能介绍

介绍 Kettle&#xff08;也称为Pentaho Data Integration&#xff09;是一款开源的ETL&#xff08;Extract, Transform, Load&#xff09;工具&#xff0c;由Pentaho&#xff08;现为Hitachi Vantara&#xff09;开发和维护。它提供了一套强大的数据集成和转换功能&#xff0c…