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那么恭喜你,你可以跳过本文直接进入下一篇文章如何实现视频的保存与上传了。

欢迎转载,转载请注明出处!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值