微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 已经解决LabVIEW与数码相机接口问题

已经解决LabVIEW与数码相机接口问题

时间:12-13 整理:3721RD 点击:
思考了几天,终于找到了LabVIEW
与任何支持USB, FireWire(IEEE1394), WDM, Video For Windows
的图像捕获设备接口问题,完成从视频捕捉设备(数码相机,扫描仪,
视频采集卡,数字摄像头,网眼等)中获取图像或视频流。
已经实现
1。直接获取图像到应用程序而不需要借助第三方应用程序从磁盘装载文件;
2。完全控制图像捕获、压缩和保存选项;
3。在程序控制下获取静态图像和视频流;
4。捕获视频包括或不包括声音;
5。捕获到一个视频文件或编程命名静态图像;
6。输出压缩或非压缩的格式,包括AVI、Windows多媒体内容和其他格式支持
7。保存图像到高质量的 BMP 或 JPG 文件;
8。可接口 TWAIN 设备
9。捕获到一个视频文件或可编程命名的图像文件;
10。可编程的选择捕获设备;
11。现场视频预览;
12。对高级应用直接地访问图像滤波;
13。跟踪视频统计如捕获帧的数量;
14。能够设置按间隔计时器自动保存的功能;
15。视频源和音频源可选择;
16。支持文本水印图像;
17。支持 TV 调谐;
E-mail: zbwise@sina.com
QQ:5318415
長芳晚夕天知觚今
庭古草風笛陽之交濁宵╭━─╮
外道碧拂聲山涯地半酒别┊独心┆
邊連柳殘外之零盡夢│自情┆
天山角落余寒╰┈┅╯

.96

真牛人也,admire3分钟。
.117

pfpf!!!
Admiring!!!
.91

我最近在搞关于IMAQ Vision 的问题
因为我用的镜头,相机都没NI的驱程,所以打算自己写驱程
但由于我搞的东西用的摄像机型号不一,要是给每个都写驱程
肯定要累死,只好另寻出路
大家都知道,买来的摄像机都会带一张驱动盘,安完后就可以使用。
这时,无论你是用PHOTOSHOP,还是Acdsee,或是其他什么图像处理方面
的软件、都可以采集图像,那他们是怎样与相机接口的呢,我考虑了很久
后来我想到了DLL,COM,ActiveX,最终选择了ActiveX,
因为LabVIEW6.1以后是支持ActiveX的,而DLL,COM太麻烦、还要自己编程
ActiveX却非常简单,
更好的是,利用ActiveX,可以使一个VI程序不用改动就可以与不同的相机接口
可以一举多得
而有关图像开发处理的控件ActiveX网上多的是,你可以下载一个试试
如果,你了解ActiveX,你会很快明白怎么回事的
如果你曾利用LabVIEW的ActiveX编过程序,不出10分钟,就会搞定      
.96

要是NI的采集卡很便宜,就不会有这些问题了,哈!
   USB接口一般不会很快,如果接口是IEEE1394,会很快的
   ActiveX的好处是开发简单,多平台兼容
   在微软的开发工具中,开发ActiveX主要有三种方式:
   VB,VC++ ATL Library ,VC++ MFC ActiveX Control Wizard
   VB最容易,但代码长,执行慢
   VC++ ATL 可以胜任最快最小的控件, 但学习开发ATL COM可能比较困难
   VC++ MFC 可以生成比较出色的服务器控件或者OCX控件
  以前我给LabVIEW写驱程,是先开发DLL,然后用LabVIEW的CLF节点调用
  或者使用CIN节点利用C语言开发
  但那都要求对采集卡的硬件情况比较了解
  我面对的问题是:1。不了解采集卡的硬件
                  2。 开发的接口程序最好与硬件设备无关
                  3。labview通过这个接口程序,可以使用任一种采集设备
                  4。如果可能,尽量提高速度,稳定性,准确性
前几天,我导师拿来3种不同厂家的数字摄像机,
我的vi程序根本不用改动,就可以直接利用像机采集了,也就是说
vi根本不用关心是什么摄像机或采集卡,那时接口程序和操作系统的工作
对于vi来说,拿来即用
当然有速度问题,我那几种相机采集速度就不一样,有的70多元钱,有的几千元
肯定不会一样的
继续探索中,愿意合作.........
.96

你说的利用ActiveX与不同哟的
相机借口连接不用改动
我就不知道你怎么处理的了?
如果两个不同的采集设备控制参数压根差别很大
你还不用改动?
那样的话,NI的DAQ为嘛还只支持自己的板卡呢?
ActiveX我只简单在LV中用过
不了解其精髓
作为一个门外汉问,不,是请教
谢谢
.10

你好,请教谈不上,愿意共同探讨,我对ActiveX了解的也不是很深
1。ActiveX是微软提出的一组使用组件对象模型(component object model,COM),
使得软件组件在网络环境中进行交互的技术集,它与具体的编程语言无关。
2。用于桌面的、基于COM的组件叫做ActiveX控件,其实不过是遵从
一定标准、与客户端交互的COM对象而已。
3。从LabVIEW5.0到7都提供了ActiveX的支持,LabVIEW既可以作为
ActiveX服务器,也可以作为ActiveX客户机。LabVIEW本身也可以被
称作一种ActiveX,并且可以调用其他组件。
4。ActiveX是一项成熟的新技术,是建立在COM和OLE(object linking and embedding)
基础之上的,ActiveX之下是OLE,OLE之下是COM。
5。ActiveX是属性和方法的结合体,在其他应用程序中可以使用这些
属性和方法,ActiveX存在可以由外部应用程序获取的属性列表,方法
是可以被外部应用程序调用的函数。
6。接口就是一组属性和方法。当用户向LabVIE插入ActiveX时,LabVIE
所使用的接口就被选择了。
当采集卡或摄像机安装驱动后,驱动程序便向操作系统注册了,
如果你开发的控件能获得注册信息,并给出一组接口,即属性和方法
列表,
那么,LabVIEW便可以通过这组接口控制摄像机了
LabVIEW不必担心是什么硬件,那是操做系统和控件事情
.96

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top