Opencv按‘s‘键连续保存多张图片
一、相关代码
#include <opencv2/opencv.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>using namespace std;
using namespace cv;int main()
{int d = 0;char str[300] = { 0 };VideoCapture capture;capture.open(0);//判断相机是否打开if (!capture.isOpened()){cout << "open camera failed" << endl;return -1;}while (true){Mat camera_frame;capture >> camera_frame; //读取图像帧至camera_frame// 第二种获取方式//capture.read(camera_frame);if (!camera_frame.empty()){imshow("picture", camera_frame);}// 按“s”键保存图片至指定路径int k = waitKey(2);if (k == 's'){// 路径斜杠要注意,容易出错sprintf_s(str,300, "D:\\360MoveData\\Users\\ZNC\\Desktop\\op\\%d.jpg", ++d);imwrite(str, camera_frame);}// 按q键退出程序if (k == 'q'){break;}}// 销毁显示窗口,不添加按q会报错cv::destroyAllWindows();
}
二、相关知识
(1)sprintf_s()函数
sprintf_s是sprintf的安全版本,指定缓冲区长度来避免sprintf()存在的溢出风险,区别在sprintf_s第二个参数,可以控制缓冲区大小 。
sprintf/sprintf_s指的是字符串格式化命令,其功能是把格式化的数据写入指定字符串中。
sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。
头文件
stdio.h
原型
int sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format,
[argument] ...);
参数列表
buffer:char型指针,指向将要写入的字符串的缓冲区。
sizeOfBuffer:缓冲区大小。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据
相关参考:
(1)opencv学习---VideoCapture 类基础知识_hairuiJY的博客-CSDN博客_cv::videocapture
(2)c++中sprintf和sprintf_s的区别_奔跑的大茄子的博客-CSDN博客_c++ sprintf_s
Opencv按‘s‘键连续保存多张图片相关推荐
- Opencv学习笔记(五)连续保存多张图片(用于标定等)
在做图像标定的时候有一件事情很烦,就是我需要连续拍多张图片,我们当然可以通过软件直接截取,但是原谅作为小白的我当时并没有找到这个软件(坑爹啊,后来别人给我了). 于是就只能找找能不能通过程序去保存的. ...
- opencv连续保存多张图片
使用opencv保存多张图片存,命名以数字递增,例如1.jpg .2.jpg - Img_Name = "./eds/copyimages/" + str(i)+ ".j ...
- 【OpenCV】图片操作小结:RAW图转image以及image连续保存
opencv将RAW图转image uint32_t ReadRawImage(cv::Mat& image,const std::string& path,int width,int ...
- 视频到图片(每隔几帧保存一张图片)opencv实现
如果想要自动截取一个视频的图片,又不想手动暂停截取,那可以试试用opencv自动截取(比如想要自动截取喜欢电影的经典台词与图片). 背景说明:一个小意外,录屏视频没有声音,想着把视频里的PPT截取出来 ...
- opencv提取视频帧,将多张图片组合成视频(C++)
OpenCV-视频处理-视频处理5191 2 opencv提取视频帧,将多张图片组合成视频(C++) 作者:bit452 参考:http://blog.sina.com.cn/s/blog_5f593 ...
- python opencv打开摄像头,截图保存
python opencv打开摄像头,截图保存,学习结果如下: 使用python打开摄像头 import cv2 cap = cv2.VideoCapture(0) #设置摄像头 0是默认的摄像头 如 ...
- 通过ffmpeg实时读取宇视摄像头的高清帧流数据,并保存4张图片进行4合一照片的生成。
通过ffmpeg实时读取宇视摄像头的高清帧流数据,并保存4张图片进行4合一照片的生成. FFmpeg视频解码过程 通常来说,FFmpeg的视频解码过程有以下几个步骤: 注册所支持的所有的文件(容器)格 ...
- 深度学习自学(二十一):连续保存人脸检测、关键点检测后人脸状态-循环队列实现
整理的人脸系列学习经验:包括人脸检测.人脸关键点检测.人脸优选.人脸对齐.人脸特征提取等过程总结,有需要的可以参考,仅供学习,请勿盗用.https://blog.csdn.net/TheDayIn_C ...
- OpenCV技巧 | 常用格式图片保存为透明背景图片(附Python源码)-教你轻松制作Logo
导读 本文主要介绍使用OpenCV将常用格式图片保存为透明背景图片的方法与实现代码. 实现目标 本文的目标有如下两个: ① 将常见格式[jpg/png/bmp]白色背景图片转换保存为透明背景图片: ② ...
最新文章
- weeklyblogging_20100805PM
- JVM 运行时数据区详解,写得非常好!
- Java读取Excel内容
- 计算机机房电力切换演练方案,机房停电应急演练实施具体技术方案.doc
- MyBatis collection的两种形式——MyBatis学习笔记之九
- c# 关于WebBrowser的模拟提交InvokeMember方法是什么意思!
- (42)System Verilog接口变量数据位宽扩展
- MongDB之shard_主从,副本集,分片的理解
- 星云链智能合约开发(六):智能合约开发与部署
- 通过掌握谷歌成为更好的程序员
- Mycat 分布式事务的实现
- 杭电HDUacm2098
- 局域网 git服务器 虚拟机,GitLab服务器傻瓜式搭建教程
- 视频无损剪切分割截取合并工具
- 【原创】将RGB图像转换到CMY空间
- Kubernetes 调度 - 污点和容忍度详解
- 【转】解决win10系统每次重启桌面图标排列混乱的问题!亲测有效!!
- mc是用java写的吗_都说MC的代码特别差劲,你觉得它在所有游戏中,能排第几?...
- 简单理解 TP、FN、FT 及 TN和准确率、精确率、召回率 的含义
- 项目中如何进行有效的沟通管理(一)
热门文章
- pygame之《飞机大战》(一)
- usb引导盘检测计算机系统,解决方案:如何制作DOS可引导USB闪存驱动器,小白必须查看各种图形教程来制作最受欢迎的USB可引导磁盘...
- 辅助角公式的几何意义
- 2023Track Tech防伪溯源技术展| 防伪溯源 | 智慧包装 | 安全印刷
- 2019经济学396考研视频资料【全】
- FreeBuds 5耳机戴法是怎么样的?进来看看
- 格言警句收集2-双语对照
- 饥荒联机版服务器启动慢_饥荒联机版大型攻略——航海篇
- Super-resolution:Camera Lens Super-Resolution(论文解读二十)
- 使用SDEI上报RAS故障