5002|5

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

Wince6.0基于Directshow摄像头驱动开发 [复制链接]

在wince6.0+6410平台下面基于DShow进行摄像头驱动的开发
默认的发现应用程序的请求是120x160大小的图片,在驱动里面调试的时候打印的就是120x160
然后我就送一个120x160大小的图片

现在我想改变大小,通过下面的代码,发现还是120x160,不知道什么地方出错了
        int iCount=0;
        int iSize=0;
        hResult=m_pCaptureGraphBuilder->FindInterface(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Interleaved,m_pVideoCaptureFilter,IID_IAMStreamConfig,(void**)&pAMStreamConfig);
        if(hResult==S_OK)
        {
               
                hResult=m_pCaptureGraphBuilder->FindInterface(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Video,m_pVideoCaptureFilter,IID_IAMStreamConfig,(void**)&pAMStreamConfig);
                hResult   =   pAMStreamConfig->GetNumberOfCapabilities(&iCount,   &iSize);   
                if   (iSize   ==   sizeof(VIDEO_STREAM_CONFIG_CAPS))  
                {   
                        // Use the video capabilities structure.
                        for (int iFormat = 0; iFormat < iCount; iFormat++)
                        {
                                VIDEO_STREAM_CONFIG_CAPS scc;
                                AM_MEDIA_TYPE *pmtConfig;
                                hResult = pAMStreamConfig->GetStreamCaps(iFormat, &pmtConfig, (BYTE*)&scc);
                                if (SUCCEEDED(hResult))
                                {
                                        /* Examine the format, and possibly use it. */
                                        // Delete the media type when you are done.
                                        if(pmtConfig->majortype == MEDIATYPE_Video)
                                        {
                                                VIDEOINFOHEADER *pVih = (VIDEOINFOHEADER*)pmtConfig->pbFormat;
                                                pVih->bmiHeader.biWidth=640;
                                                pVih->bmiHeader.biWidth=480;
                                                pVih->bmiHeader.biSizeImage = DIBSIZE(pVih->bmiHeader);
                                                hResult = pAMStreamConfig->SetFormat(pmtConfig);//重新设置视频格式
                                        }

                                        DeleteMediaType(pmtConfig);
                                }
                        }

                }
        }


不知道有什么问题,驱动中传下来的值还是160X120,怎么回事啊。
此帖出自WindowsCE论坛

最新回复

我想问下在pdd那里添加对应的分辨率格式?  详情 回复 发表于 2009-6-18 11:16
点赞 关注
 

回复
举报

63

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
拍照用的是STILL PIN,你的代码是在CAPTURE PIN上设的,应该在STILL PIN上设
此帖出自WindowsCE论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
MB下有对应的程序可以参考
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

4
 
我的是预览的时候的程序
还没有储存成图片,光看预览效果就知道分辨率不够
并且在这个程序下面我也添加了对Preview Pin的大小设置,效果还是一样
我是这添加STILL看看。
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

5
 
知道原因了,在PDD中,preview对应的格式没有640x480的,因而设置不会成功使用的是默认的160x120
我们在preview的格式中添加640x480之后一切OK。
谢谢,结贴。
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 jinlking 的回复:
知道原因了,在PDD中,preview对应的格式没有640x480的,因而设置不会成功使用的是默认的160x120
我们在preview的格式中添加640x480之后一切OK。
谢谢,结贴。

我想问下在pdd那里添加对应的分辨率格式?
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表