首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

擒获摄像头数据并显示

2013-01-05 
捕获摄像头数据并显示各位大侠,我现在使用vfw方法做个摄像头采集的程序,目前遇到点问题,望大家帮帮忙。目前

捕获摄像头数据并显示
各位大侠,我现在使用vfw方法做个摄像头采集的程序,目前遇到点问题,望大家帮帮忙。目前我使用回调函数capSetCallbackOnFrame可以得到每一帧的数据,但是我不知道怎么将数据转换为位图显示在一个picture中,在网上找了很多资料,有人说用DrawDibDraw方法,但是不晓得为什么我的就是一直显示不出来,谢谢各位了!
[解决办法]
http://anqn.com/vb/153/
你看看这里
[解决办法]
哦 看贴不认真,脑袋必发晕擒获摄像头数据并显示

得到的数据按照图片格式再一次显示出来
你的数据是YUV的吗?
那样的话先转RGB然后加上头文件,就是BMP了
[解决办法]
这个……
我没有用VB写过转换算法,有VC写的DLL一个。
另有VB调用的demo,
注:需要将1.YUV 文件拷贝到C:盘,看一下源码你就懂的…………
有需要,我就上传一下~~

[解决办法]


'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'过程功能:将摄像头采集来得视频图像截取一桢保存为BMP图片
'参数说明:strFileName:保存路径
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Public Sub subSaveFrameToBMP(ByVal strFileName As String, ByVal hCapWnd As Long)
    Dim lngP As Long
    Dim bolP As Boolean
On Error GoTo errSub
    bolP = VBGetSaveFileName(strFileName, _
                            filter:="DIB Bitmap Files (*.bmp)
[解决办法]
*.bmp", _
                            DlgTitle:="Save Single Frame", _
                            DefaultExt:="bmp", _
                            Owner:=frmMain.hWnd)
    If bolP Then
        bolP = capFileSaveDIB(hCapWnd, strFileName)
        If Not bolP Then
            MsgBox "Problem saving frame", vbInformation, App.Title
        End If
    End If
    Exit Sub
errSub:
End Sub

[解决办法]
引用:
目前我使用回调函数capSetCallbackOnFrame可以得到每一帧的数据

这个就得看这个函数的说明,这个每帧数据的格式是什么。
然后可以利用API向指定PICTUREN绘图DEVICE绘图,把你收到的每帧数据(存在于内存中)对应的内存数据区作为一个设备绘图的数据区,整体绘到PICTURN上。就可以显示了。
具体的API和步骤,想不起来了,你查查VB的API绘图例程,拼合一下就成了。
关键是第一步,先搞清楚每帧数据的格式是什么,看看是可以直接使用还是需要转换格式。

热点排行