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 两个接口 这里只做简 ...
随机推荐
- BIGIP-LTM中的NAT和SNAT
http://250688049.blog.51cto.com/643101/1095880 一.NAT(Network Address Translation)网络地址转换1.NAT简介 NAT ...
- 关于eclipse 与OpenCV 配置频繁报错的问题总结Program "C:/SDK/android-ndk-xxx/ndk-build.cmd" is not found in PATH报错的解决!
2018-01-3116:58:12 Program "C:/SDK/android-ndk-r8/ndk-build.cmd" is not found in PATH 今天这一 ...
- linux批量添加10个用户并将其随机密码和用户名写入文件
需求: 批量新建10个测试用户,并且让其密码随机,把用户名和密码写入一个文件,并有创建时间和创建者 #!/usr/bin/python # -*- coding: utf-8 -*- import o ...
- ECLIPS-S测井系统下的仪器挂接 [TCC模块]
1. 环境 HPUX版本:11.23 Complete Image ECLIPS版本:Rel 5.1i 2. 效果图 3. 用途 为以后在此系统中挂接新仪器打下坚实的基础. 4. 参考资料 ECLIP ...
- sqlserver 字符串截取与拼接
update yanan set name=name+right(phone,4) where id=56 其中right(phone,4)是截取手机号后四位,left是从左开始截取.name=nam ...
- [搬运] .NET Core 2.1中改进的堆栈信息
原文 : Stacktrace improvements in .NET Core 2.1 作者 : Ben Adams 译者 : 张很水 . NET Core 2.1 现在具有可读的异步堆栈信息!使 ...
- Spring MVC 配置文件dispatcher-servlet.xml 文件详解(转自 学无止境-yj)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- hibernate 基础
Hibernate:是开源的ORM框架技术,对jdbc进行了非常轻量级的对象封装,处于业务逻辑层和数据库层之间,称作持久化层. 持久化层的作用:把程序生成的对象持久化到数据库,也就是保存到数据库. ...
- Makefile 的使用
第一篇: OBJS = ./persion.o all : persion @echo "version 03" persion : $(OBJS) g++ -o $@ $^ ./ ...
- webpack从0开始---(二)
直接使用webpack进行打包 安装css loader,style loader(用来处理打包css文件) 命令行输入npm install css-loader style-loader --sa ...