导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

如何从摄像头读取数据?

zpjsj2000 2004-04-05 07:27:52
请问如何才能从usb摄像头取得其数据?
...全文
250 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
captainwh 2004-04-08
用vfw采集的话, 使用capSetCallbackOnVideoStream设置回调, 那么在回调函数中就会取得一帧帧的图象数据(未压缩, 无论是否设定了视频压缩格式), 其形式是VIDEOHDR* ,
使用capSetCallbackOnWaveStream设置回调, 在音频回调中会获得压缩过的音频数据(压缩格式由你设定), 其形式是WAVEHDR*

更好的办法是使用dshow做采集, 从video capture filter传递下来的数据就是图象数据, 可以在输入Pin的 IMemInputPin::Receive中获取, 其形式是IMediaSample *
回复
ymbymb 2004-04-07
http://www.vckbase.com/code/listcode.asp?mclsid=13&sclsid=1311
回复
visualabc 2004-04-07
www.vctop.com






if (mb_color)
{
unsigned char * ired;
unsigned char * igreen;
unsigned char * iblue;
// 循环变量
LONG i;
LONG j;

unsigned char tem;
for (i=0,j=0;i<(long)lpVData->dwBufferLength;i=i+3,j++)
{
ired= lpVData->lpData+ i+2;
igreen = lpVData->lpData+i+1;
iblue = lpVData->lpData+ i;
tem=(unsigned char)(0.299*(*ired)+0.587*(*igreen)+0.114*(*iblue));
*ired=tem;
*igreen=tem;
*iblue=tem;
}
/*
DWORD dwsize = capGetVideoFormatSize(ghCapWnd);
BITMAPINFO * psVideoFormat = (LPBITMAPINFO) new BYTE[dwsize];
//得到格式
DWORD ret = capGetVideoFormat(ghCapWnd, psVideoFormat, dwsize);
if (ret != 0)
{
//宽度
psVideoFormat->bmiHeader.biWidth;
//高度
psVideoFormat->bmiHeader.biHeight;
//位平面数
psVideoFormat->bmiHeader.biPlanes;
//像素比特数
psVideoFormat->bmiHeader.biBitCount;
//压缩格式
psVideoFormat->bmiHeader.biCompression,(LPSTR) &(psVideoFormat->bmiHeader.biCompression);
//图像大小
psVideoFormat->bmiHeader.biSizeImage;
}
// 图像宽度
LONG lWidth;
// 图像高度
LONG lHeight;
// 获取图像宽度
lWidth = psVideoFormat->bmiHeader.biHeight;//::DIBWidth(lpDIB);
// 获取图像高度
lHeight = psVideoFormat->bmiHeader.biHeight;//::DIBHeight(lpDIB);
*/
return 1;
}
回复
taianmonkey 2004-04-06
DXSDK\Samples\C++\DirectShow\Capture\AMCap
回复
balloy 2004-04-05
最简单的办法也许是使用media encoder,你可以下载一个media encoder9来看看就知道了
回复
anothervip 2004-04-05
用directShow建图。sdk中有例子。
回复
zhangcrony 2004-04-05
Yes, use the AVCapture ActiveX!
回复
cyczl666 2004-04-05
大部分是一样的。用一个AVCapture的控件就可以采集图像了
回复
zhjie374 2004-04-05
要看他的驱动程序,还有接口了!
不完全一样!
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……