请问:摄像头捕捉分辨率问题
在摄像头捕捉的时候,能不能动态改变捕捉分辨率呢?
谢谢
我见得一些软件都要关掉当前捕捉,然后从新开始才能改变。
不知那位高手知晓
问题点数:100、回复次数:7Top
1 楼mynamelj(风之羽翼)回复于 2006-06-02 14:17:11 得分 0
你是用什么捕获视频的?
我只晓得有个系统对话框可以修改分辩率,至于用代码我就不清楚,关注!Top
2 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-06-02 14:23:49 得分 0
对话框???应该是属性页吧Top
3 楼yinzhaohui(努力)回复于 2006-06-02 14:24:32 得分 0
CAPTUREPARMS CapParms={0};
capCaptureGetSetup(m_capwnd,&CapParms,sizeof(CapParms));
CapParms.fAbortLeftMouse = FALSE;
CapParms.fAbortRightMouse = FALSE;
CapParms.fCaptureAudio = FALSE;
CapParms.fYield = TRUE;
CapParms.wPercentDropForError = 50;
if(capCaptureSetSetup(m_capwnd,&CapParms,sizeof(CapParms)))
{
capGetVideoFormat(m_capwnd,&m_bmpinfo,sizeof(m_bmpinfo));
m_bmpinfo.bmiHeader.biWidth=m_width; //捕获宽
m_bmpinfo.bmiHeader.biHeight=m_height;//捕获高
capSetVideoFormat(m_capwnd,&m_bmpinfo,sizeof(m_bmpinfo));
isSucc = TRUE;
}Top
4 楼mynamelj(风之羽翼)回复于 2006-06-02 14:35:01 得分 0
你们谁有没有用DirectShow捕获过视频?Top
5 楼Suprman(杀尽天下的恶狗)回复于 2006-06-02 14:35:55 得分 0
yinzhaohui:
当正在捕捉时
在capSetVideoFormat(m_capwnd,&m_bmpinfo,sizeof(m_bmpinfo))这一步返回 false
Top
6 楼mynamelj(风之羽翼)回复于 2006-06-02 14:36:24 得分 0
CAPDRIVERCAPS CapDrvCaps;
capDriverGetCaps(hWndC, &CapDrvCaps, sizeof (CAPDRIVERCAPS));
// Video source dialog box.
if (CapDrvCaps.fHasDlgVideoSource)
capDlgVideoSource(hWndC);
// Video format dialog box.
if (CapDrvCaps.fHasDlgVideoFormat)
{
capDlgVideoFormat(hWndC);
// Are there new image dimensions?
capGetStatus(hWndC, &CapStatus, sizeof (CAPSTATUS));
// If so, notify the parent of a size change.
}
// Video display dialog box.
if (CapDrvCaps.fHasDlgVideoDisplay)
capDlgVideoDisplay(hWndC);
Top
7 楼yinzhaohui(努力)回复于 2006-06-06 10:02:11 得分 0
象这样作吧:
1.初始时以最大分辨率方式捕捉,以后台方式
2.在在绘制时缩小或方大绘制Top




