本文主要是介绍javacv 实现帧抓图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1回顾
2抓图实现
2.1添加依赖
2.2功能实现
2.3输出截图
3回顾总结
1回顾
第一篇文章简单的讲解了rtsp、vlc及其安装;第二篇文章简单介绍了实时视频监控;
接下本文将试试我们如何运用相机拍照并保存!
不废话,上才艺!
2抓图实现
2.1添加依赖
<!-- javacv --><dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.5.1</version><type>pom</type></dependency>
2.2功能实现
public static void main(String[] args) throws IOException {//rtsp流媒体String file = "rtsp://admin:123456@192.168.0.106/cam/realmonitor?channel=1&subtype=1";//创建抓取器FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(file);//设置协议grabber.setOption("rtsp_transport", "tcp");//设置图片宽高grabber.setImageWidth(996);grabber.setImageHeight(996);log.info("抓图开始...");grabber.start();//帧截图File imgUrl = new File("D:\\ccct\\123.jpg");while (true){Frame frame = grabber.grabImage();if (frame != null) {//创建bufferedImage对象,生成jpg图片Java2DFrameConverter converter = new Java2DFrameConverter();BufferedImage bufferedImage = converter.getBufferedImage(frame);ImageIO.write(bufferedImage, "jpg", imgUrl);grabber.stop();grabber.release();log.info("抓图成功...");break;}}}
2.3输出截图
3回顾总结
是不是感觉还是比较简单?就几行代码,当刚拿到这样的需求的时候,其实内心还是很慌张的,当然这只是一种截图方式,部分相机可能厂商会提供一些抓图接口;如果你公司的厂商有提供相关的抓图api那么恭喜你,你可以跳过本文直接进入下一篇文章如何实现视频的保存与上传了。
欢迎转载,转载请注明出处!
这篇关于javacv 实现帧抓图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!