使用javaCV截取摄像头图片
1、javaCV截取usb摄像头图片
/*** javacv在lunixUSB摄像头截图* @param usbDev 设备名称如:/dev/video0* @param filePath 路径*/public void screeUsbCamera(String usbDev,String filePath){long start=System.currentTimeMillis();try {avutil.av_log_set_level(avutil.AV_LOG_ERROR);OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(usbDev);Integer width = 1920;Integer height = 1080;if (width != null && width > 1 && height != null && height > 1) {grabber.setImageWidth(width);grabber.setImageHeight(height);}grabber.setOption("rtsp_transport", "tcp");grabber.start();if (width == null || height == null) {height = grabber.getImageHeight();width = grabber.getImageWidth();}ByteArrayOutputStream outputStream=null;long total=0;Frame frame = null;while ((frame = grabber.grab()) != null ) {// TODO 将帧推送成流Java2DFrameConverter java2DFrameConverter = new Java2DFrameConverter();BufferedImage convert = java2DFrameConverter.convert(frame);outputStream = new ByteArrayOutputStream();ImageIO.write(convert, "jpg", outputStream);total=System.currentTimeMillis()-start;logger.info("usb截图时间为:"+total);grabber.close();// 停止抓取grabber.stop();grabber.release();logger.info("javacvUSB截图完成");break;}byte[] bytes = outputStream.toByteArray();FileUtil.writeBytes(bytes, filePath + "USB_" +total+ ".JPG");} catch (Exception e) {logger.info("javacv截图错误"+e);}}
2、javaCV截取网络摄像头图片
/**** @param rtspURL:网络摄像头地址如:rtsp://admin:1234qwer@192.168.16.230:554* @param filePath:路径*/public void screenshot(String rtspURL,String filePath) {try {long start=System.currentTimeMillis();long total=0;FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(rtspURL);grabber.setOption("rtsp_transport", "tcp");grabber.setImageWidth(960);grabber.setImageHeight(540);grabber.start();ByteArrayOutputStream outputStream=null;Frame frame = grabber.grabImage();if (frame != null) {Java2DFrameConverter java2DFrameConverter = new Java2DFrameConverter();BufferedImage convert = java2DFrameConverter.convert(frame);outputStream = new ByteArrayOutputStream();ImageIO.write(convert, "jpg", outputStream);total=System.currentTimeMillis()-start;logger.info("网络摄像头截图时间为:"+total);grabber.close();// 停止抓取grabber.stop();grabber.release();}byte[] bytes = outputStream.toByteArray();FileUtil.writeBytes(bytes, filePath + "rtsp_" +total+ ".JPG");} catch (Exception e) {logger.info("截取网络摄像头图片失败"+e);}}
3、引入相关依赖
<dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.4.4</version></dependency>
使用javaCV截取摄像头图片相关推荐
- Python截取摄像头图片
# 运行环境:python3.8 import os # pip install opencv-python==4.5.5.62 import cv2 import time # 解决id问题:htt ...
- JavaCV的摄像头实战之十二:性别检测
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<JavaCV的摄像头实战> ...
- JavaCV的摄像头实战之八:人脸检测
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<JavaCV的摄像头实战> ...
- JavaCV的摄像头实战之十四:口罩检测
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<JavaCV的摄像头实战> ...
- JavaCV的摄像头实战之四:抓图
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<JavaCV的摄像头实战> ...
- jquery实现截取pc图片_jquery 上传图片自由截取
为了使用户能自定义个人头像,需要提供一个对上传图片的截图功能,当前很多网站特别是SNS类网站都提供这样的功能,非常实用.本文主要是利用jQuery的imgAreaSelect插件实现. 首先引入三个文 ...
- (原创)基于ZedBoard的Webcam设计(二):USB摄像头图片采集+QT显示
在(原创基于ZedBoard的Webcam设计(一):Zedboard上的USB摄像头(V4L2接口)的图片采集中,我们完成了ZedBoard上USB摄像头的单幅图片采集,采集到的图片是存储在文件系统 ...
- Py:利用pyautogui实现自动将pdf文件(需手动设定pdf总页数)自动翻页并截取另存为图片形式,或自动隔0.1秒自动截笔记本全屏保存到指定文件夹
Py:利用pyautogui实现自动将pdf文件(需手动设定pdf总页数)自动翻页并截取另存为图片形式,或自动隔0.1秒自动截笔记本全屏保存到指定文件夹 目录 实现步骤和结果 核心代码 实现步骤和结果 ...
- C#实现网页加载后将页面截取成长图片 | Playwright版
前言 如何将网页生成预览图? 要实现这个功能,可以用WebBrowser组件模拟浏览器,或者使用系统浏览器访问网页,再进行截图操作. 但是,这样需要编写大量的控制代码. 工欲善其事,必先利其器! 利用 ...
最新文章
- INTERVAL数据类型-007学习笔记
- uva 1615——Highway
- FreeEIM通讯软件无论是画面风格还是游戏内容
- Hive 处理 json 的几个函数
- 07 行锁功过:怎么减少行锁对性能的影响? (笔记)
- 吴恩达二月升级当爸,Jeff Dean打趣:无监督学习要开始了,需要数据集么?
- 2种造成sqlserver自增列不连续的原因
- 七天LLVM零基础入门(Linux版本)------总结
- quartus仿真17:T触发器的时序逻辑电路
- 深度学习知识点全面总结
- 论文笔记_S2D.38_2018-CVPR_DORN_用于单目深度估计的深度有序回归网络
- c语言自动计费工作,c语言编程实现话单计费实例
- linux内存泄露检查工具
- 【C++程序设计语言A视频教程 全12讲 中科院】【下载链接】
- python spark pyspark——朴素贝叶斯习题整理
- 序号 html ol自动缩进,ol自定义序号样式的方法
- 机房收费系统——退卡
- 【LeetCode】灯泡开关Ⅰ~ Ⅳ(你还是把我关了吧)
- Kvaser Leaf light HS v2 | 如何使用Excel发送和接收CAN报文数据
- html中怎么把h标签左移,基础标签--h、p、a、hr、br、img、base
热门文章
- seo优化什么意思?
- Matlab如何在文件中写入空格和换行
- 5G mMTC场景下NB-IoT / eMTC增强技术
- join()方法的作用
- C/C++ 与 Python
- ReactHooks——使用lodash中的throttle
- mysql中limit2,1和limit2 offset 1的区别
- Android Object 转 Json
- python实现一个简单的图像处理交互界面(tkinter库)
- [C++][linux]C++实现类似C#AutoResetEvent或者win C++的SetEvent