DxPackNet 2.视频截图和捕捉帧图片
在上一节的基础上 打开了摄像头后:
1.视频截图------调用 CatchBmp 方法即可获取当前帧的 bmp 图像,
- //调用截屏函数 获取当前图片
- Bitmap bmp = camCapture.CatchBmp();
- if (bmp != null)
- {
- pictureBox1.Image = bmp;
- }
2.帧捕获-----给设备类型加上捕获帧数据的回调函数,即可不断的获取所有输出的帧数据
- private void Form1_Load(object sender, EventArgs e)
- {
- cameras = DxFactory.CreateDxCompent<DxDeviceCollection>(DxDeviceCollection.EnvironmentCameras);
- camCapture = DxFactory.CreateDxCompent<IDxCameraCapture>(this, panel1);
- camCapture.FrameCb = camerasFrameCb;//注意 这里加的帧数据回调函数
- camCapture.Init(cameras[]);
- }
下面是回调处理代码 ,在回调中通过 BmpFromBuffer 方法将帧数据还原成了bmp图片
- private void camerasFrameCb(byte[] buffer, int size)
- {
- //注意-这里必须把数据拿到创建控件的线程上处理
- this.BeginInvoke(new camerasFrameCbHandler(_camerasFrameCb), buffer, size);
- }
- delegate void camerasFrameCbHandler(byte[] buffer, int size);
- public void _camerasFrameCb(byte[] buffer, int size)
- {
- //根据数据流获取适配的bmp图片对象
- Bitmap bmp = camCapture.BmpFromBuffer(buffer, size);
- if (bmp != null)
- {
- Image oimg = pictureBox1.Image;
- pictureBox1.Image = bmp;
- if (oimg != null) oimg.Dispose();
- }
- }
截图源代码 CameraShot.zip
帧捕捉源代码 CamFrameCallBack.zip
DxPackNet 2.视频截图和捕捉帧图片的更多相关文章
- 通视频URL截取第一帧图片
为了方便直接给UIImage加个类别,以后什么时候使用可以直接调用. #import <UIKit/UIKit.h> @interface UIImage (Video) /** 通过视频 ...
- php如何截取出视频中的指定帧作为图片
php如何截取出视频中的指定帧作为图片 一.总结 一句话总结:截取视频指定帧为图片,php ffmpeg扩展已经完美实现,并且php ffmpeg是开源的 二.php如何截取出视频中的指定帧作为图片 ...
- 七牛云上传视频并截取第一帧为图片(js实现)
本文出自APICloud官方论坛, 感谢论坛版主 东冥羽的分享. 七牛云上传视频并截取第一帧作为视频的封面图. 使用js上传,模块videoPlayer截取第一帧(有专门的截图模块,但是我使用的有点问 ...
- 第五十二篇、 OC获取视频的第一帧图片thumbnailImage
获取视频的第一帧图片 有时候我们拍摄完视频后,希望获取一张图片当作这个视频的介绍,这个图片thumbnailImage可以从视频的第一帧获取到. 我们的思路是先获取视频的URL,然后初始化一个MPMo ...
- python视频与帧图片的相互转化,以及查看视频分辨率
1.拆分视频为帧图片 import cv2 def video2frame(videos_path,frames_save_path,time_interval): vidcap = cv2.Vide ...
- iOS截取视频某一帧图片(关键帧,AVAssetImageGenerator)
获取第一帧图片 导入 AVFoundation.Framework.CoreMedia.Framework 实现代码例如以下: + (UIImage*) thumbnailImageForVideo: ...
- C# 使用ffmpeg视频截图
<appSettings> <add key="ffmpeg" value="E:\ffmpeg\ffmpeg-20141012-git-20df026 ...
- [zt]OpenCV如何获取视频当前的一帧图像
(OpenCV读取视频.OpenCV提取视频每一帧.每一帧图片合成新的AVI视频)CvCapture 是视频获取结构 被用来作为视频获取函数的一个参数 比如 CvCapture* cap; IplIm ...
- DxPackNet 5.视频高质量的压缩和传输
DxPackNet 对视频的压缩和解压也提供了很好的支持,且系统不需要装第三方解码器哦~ 主要用到了 IxVideoEncoder 视频编码器 和 IxVideoDecoder 两个接口 这里只做简 ...
随机推荐
- linux_samba服务安装
什么是samba服务? 用于Windows和linux系统之间实现共享文件的目的服务 如何配置其服务? Linux端: 搭建服务 1. 安装samba yum install -y samba 2. ...
- httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName
问题原因: httpd服务配置文件,并没有设置解析根地址,无法可靠地确定服务器的完全合格的域名 如何解决? httpd的配置文件放在 /etc/httpd/conf/目录下,去掉ServerName注 ...
- Oracle Sqlload 导入数据
sqlload导入数据具有快,简单,无需校验等方便,多说无益 1 首先,oracle数据库要有这么个表,用来接收数据.我这里这个uuid是序列生成的,当然也可以sqlload导入时候分配uuid -- ...
- 错误:java.lang.NoClassDefFoundError: com/project/common/exception/ServiceException 的解决
问题: 项目编译通过,启动报错误信息java.lang.NoClassDefFoundError: com/project/common/exception/ServiceException. 解决方 ...
- MySql全文索引
使用索引是数据库性能优化的必备技能之一.在MySQL数据库中,有四种索引:聚集索引(主键索引).普通索引.唯一索引以及我们这里将要介绍的全文索引(FULLTEXT INDEX). 全文索引(也称全文检 ...
- join on用法
内连接和外连接 内连接用于返回满足连接条件的记录:而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录 内连接 内连接查询返回满足条件的所有记录,默认情况下没有指定任 ...
- JS获取滚动条距离顶部高度
一.jQuery获取的相关方法 jquery 获取滚动条高度 获取浏览器显示区域的高度 : $(window).height(); 获取浏览器显示区域的宽度 : $(window).width(); ...
- 一个最简单的cell按钮点击回调
在cell.h定义 @property(nonatomic,strong)void(^pushType)(NSInteger); 在cell.m按钮点击时 _pushType(1):(举例) ...
- Web安全之CSP
内容安全策略(Content-Security-Policy,简称CSP) 概念: 内容安全策略(CSP)是一种web应用技术用于帮助缓解大部分类型的内容注入攻击,包括XSS攻击和数据注入等,这些攻击 ...
- JAVA设计模式---命令模式
1.定义: 将“请求”封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象,命令模式也支持可撤销的操作.命令可以用来实现日志和事务系统. 2.实例: 1)需求:设计一个家电遥控器的API,遥控 ...