怎么制作这个程序? ( 积分: 50 )

  • 主题发起人 主题发起人 mintb
  • 开始时间 开始时间
M

mintb

Unregistered / Unconfirmed
GUEST, unregistred user!
有个采集卡,厂家提供了DLL文件,想自己实现“实时视频流捕获”(不知道“连续帧采集”和这个是不是一个概念),然后存盘成AVI文件,哪位朋友知道给支个招?
 
有个采集卡,厂家提供了DLL文件,想自己实现“实时视频流捕获”(不知道“连续帧采集”和这个是不是一个概念),然后存盘成AVI文件,哪位朋友知道给支个招?
 
连续帧采集就是这个意思,一般的摄像头采集帧频是每秒25帧,一帧等于二场.人眼只要每秒24帧就感觉不出来停顿了.
 
有没有dll的函数说明
 
有函数的说明,但是小弟才接触delphi不久,要编写采集成AVI的这个功能,实在是有些困难,我现在只能把采集卡的图像通过一个image框显示,要想同过他来采集不知可行否?哪位知道的朋友能不能写写来小弟参考一下:
这个是函数说明:
MV_GetBufferSize
原型: DWORD __stdcall MV_GetBufferSize(WORD nCardNo,DWORD *lpLiner,DWORD *dwSize);
说明:获得可为本卡作为图象数据使用的缓存BUFFER的线性首地址和大小,及在当前设置下可存放图象的幅数
//设置分配内存大小多少Kbytes(//HLM//SOFTWARE//Microview//MemAlloc//MemorySize)
参数: nCardNo : 卡号
lpLiner : 线性地址
dwSize : 大小
MV_SetCaptureStreamHook
原型:BOOL __stdcall MV_SetCaptureStreamHook(WORD nCardNo, CaptureStreamProc lpStreamFun);

回调函数原型
typedef UINT (*CaptureStreamProc)(WORD wHWCardNo,LPBYTE lpBuffer, DWORD DataLenth);

说明:设置图像采集回调函数,并激活
参数 : nCardNo : 卡号
lpStreamFun : 采集回调函数

MV_StopCaptureStreamHook
原型:BOOL __stdcall MV_StopCaptureStreamHook(WORD nCardNo);
说明:关闭图像采集回调函数
参数:nCardNo : 卡号

MV_EnableOverlay
原型:BOOL __stdcall MV_EnableOverlay(WORD nCardNo,HWND m_hWnd,DWORD ColorKey,BOOL IsDisp,WORD DispMethod);
说明:激活Overlay采集显示
参数: nCardNo : 卡号
m_hWnd : 窗口句柄
ColorKey : 色健值
IsDisp : 是否显示
DispMethod : 显示模式 (OFFSCREEN = 0,OVERLAY = 1,GDIFUNCTION = 2,AUTO = 3)

MV_CaptureContinueFrames
原型:BOOL __stdcall MV_CaptureContinueFrames(WORD nCardNo,HWND m_hWnd,DWORD ColorKey,BOOL IsDisp,WORD DispMethod,BOOL IsWait,int iStartFrameNo,int iTotalFrame);
说明:设置开始连续帧采集
参数:nCardNo:板卡号
m_hWnd : 窗口句柄(如显示时需要,不需显示可以为NULL)
ColorKey:色健值
IsDisp : 是否显示(TRUE=显示,FALSE=不显示)
DispMethod : 显示模式(如显示时需要)
IsWait : 是否等采集结束返回
iStartFrameNo :起始帧号(MV_GetBufferSize获得共能采集的图像帧数)
iTotalFrame :共采集的帧数(如为0,一直循环采集,直到调用MV_StopCaptureContinueFrames)

MV_StopCaptureContinueFrames
原型:BOOL __stdcall MV_StopCaptureContinueFrames(WORD nCardNo);
说明:设置停止连续帧采集
参数:nCardNo:板卡号

MV_SetCaptureWindow
原型: BOOL __stdcall MV_SetCaptureWindow(WORD nCardNo,int Left, int Top,int Width, int Height)
说明:设置采集时窗口大小
参数 : nCardNo : 卡号
Left : 左
Top : 顶
Width : 宽度
Height : 高度
 
HBRUSH CMiniDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if(pWnd->m_hWnd==GetDlgItem(IDC_STATIC)->m_hWnd)
{
pDC->SetBkColor(RGB(0,0,0));
HBRUSH hBrush=::CreateSolidBrush(COLORREF(0x00ff00));
return hBrush;
}
hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}



哪位朋友给解答一下
怎么转成delphi
帮忙加上注释行不行
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
719
import
I
I
回复
0
查看
650
import
I
后退
顶部