捕获摄像头数据并显示
各位大侠,我现在使用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