当前位置: 首页 > news >正文

javacv基础03-调用本机摄像头并截图保存到本地磁盘

基于基础02 的基础上对视频进行取帧保存

代码如下:

package com.example.javacvstudy;/*** 本地摄像头截图*/import org.bytedeco.javacv.CanvasFrame;
import org.bytedeco.javacv.FrameGrabber;
import org.bytedeco.javacv.OpenCVFrameConverter;
import org.bytedeco.javacv.OpenCVFrameGrabber;
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.opencv_core.Mat;
import org.springframework.boot.test.context.SpringBootTest;import javax.swing.*;@SpringBootTest
class CanmerCutImage {static OpenCVFrameConverter.ToIplImage converter = new OpenCVFrameConverter.ToIplImage();public static void main(String[] args) throws FrameGrabber.Exception, InterruptedException {//读取摄像头数据,创建摄像头对象,0表示本机摄像头,1表示外接摄像头OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);grabber.start();   //开始获取摄像头数据CanvasFrame canvas = new CanvasFrame("摄像头");//新建一个窗口canvas.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);canvas.setAlwaysOnTop(true);int ex = 0;while(true){if(!canvas.isDisplayable()){//窗口是否关闭grabber.stop();//停止抓取System.exit(2);//退出break;}canvas.showImage(grabber.grab());//获取摄像头图像并放到窗口上显示, 这里的Frame frame=grabber.grab(); frame是一帧视频图像Mat mat = converter.convertToMat(grabber.grabFrame());ex++;opencv_imgcodecs.imwrite("d:\\temp\\img\\" + ex + ".jpg", mat);Thread.sleep(1000);//50毫秒刷新一次图像}}}

运行结果:

在这里插入图片描述

http://www.lryc.cn/news/144206.html

相关文章:

  • Python读取Windows注册表的实战代码
  • macOS 安装 Homebrew 详细过程
  • 数据结构之树型结构
  • 指针进阶详解
  • QGIS 如何添加天地图
  • PHP8内置函数中的数学函数-PHP8知识详解
  • 云计算企业私有云平台建设方案PPT
  • ORA-01174: DB_FILES be compatible RAC rolling fashion complete outage
  • 线性代数(五) 线性空间
  • kafka--技术文档--spring-boot集成基础简单使用
  • 【核磁共振成像】部分傅里叶重建
  • React中的flushSync与Vue中的nextTick的比较
  • golang设置国内镜像源
  • linux切换到root没有conda环境
  • 数据库——redis介绍
  • 从C语言到C++_34(C++11_下)可变参数+ lambda+function+bind+笔试题
  • 喜报|星瑞格荣获“2022-2023年度国产数据库应用优秀解决方案”奖项
  • 【Spring Cloud系列】- 分布式系统中实现幂等性的几种方式
  • 2023.8.26-2023.9.3 周报【3D+GAN+Diffusion基础知识+训练测试】
  • 如何使用CSS创建渐变阴影?
  • perl send HTTP Request
  • 阿里云CDN缓存预热与刷新以及常见的故障汇总
  • Oracle创建控制列表ACL(Access Control List)
  • 3D模型转换工具HOOPS Exchange助力打造虚拟现实应用程序
  • python web GUI框架-NiceGUI 教程(二)
  • RT_Thread内核机制学习(二)
  • 线性代数的学习和整理12: 矩阵与行列式,计算上的差别对比
  • 2023年MySQL核心技术面试第一篇
  • linux启动jar 缺失lib
  • 【Bash】常用命令总结