wince摄像头抓拍问题

小菩提的尾巴 2011-11-14 09:07:37
wince摄像头抓拍,用directshow来实现,请问如何获取抓拍到的图像的数据,以及在摄像头预览图像时,怎样才能旋转图像,比如说旋转90度等。。。各位老大帮帮忙吧。。。
...全文
404 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
小菩提的尾巴 2012-03-22
  • 打赏
  • 举报
回复
对不起各位,结贴晚了,这个项目搁浅了,目前也没有时间做了,,,给各位结贴吧
jazka346704803 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 lester_2008 的回复:]

最近看了directshow方面的知识,觉得如果写一个类继承于CTransInPlaceFilter则可以在重载Transform函数是时获取摄像头抓拍的数据,但是好像要处理界面上抓拍按钮的点击与directshow数据传输线程之间的同步问题,就是说当你在点击按钮的时候设置某个标记为true,让Transform函数里的某个处理函数可以执行,但你却不能保证你在点击按钮的时候,你所重写的Trans……
[/Quote]
这样能保证同步吗?是否用事件机制会更好。
小菩提的尾巴 2011-12-08
  • 打赏
  • 举报
回复
这样做的话,我也觉得同步是个问题,但是不知如何解决,jazka346704803所说的事件机制还没接触过,看看去
小菩提的尾巴 2011-12-07
  • 打赏
  • 举报
回复
最近看了directshow方面的知识,觉得如果写一个类继承于CTransInPlaceFilter则可以在重载Transform函数是时获取摄像头抓拍的数据,但是好像要处理界面上抓拍按钮的点击与directshow数据传输线程之间的同步问题,就是说当你在点击按钮的时候设置某个标记为true,让Transform函数里的某个处理函数可以执行,但你却不能保证你在点击按钮的时候,你所重写的Transform是否已被调用过。

HRESULT CHhpTransform::Transform(IMediaSample *pSample)
{
//获取标志以判断是否执行自己的操作
if(this->m_worker->GetWorkFlag() == TRUE)
{
byte *buffer = NULL;
int len = pSample->GetSize();

pSample->GetPointer(&buffer);
this->m_worker->Do(buffer, len, this->m_width, this->m_height);
}

return S_OK;
}

不知道这种方案是否可行,各位老大有没有类似的例子或者更简单的方法。。。
小菩提的尾巴 2011-12-06
  • 打赏
  • 举报
回复
二维码解码的网上已经有很多参考资料了
skylkj 2011-12-06
  • 打赏
  • 举报
回复
我觉得相比于照片的二维码解码,你提的这些图像旋转什么的都算是小case了吧

想了解下你们的解码打算怎么做?微软没提供二维码解码的控件
小菩提的尾巴 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jazka346704803 的回复:]
引用 7 楼 lester_2008 的回复:

不好意思啊各位,最近在忙着课程设计,晕啊。。。
我是想在摄像头预览时抓拍二维码,也就是点击抓拍按钮时直接从摄像头获取这个二维码图片的数据,在《Windows CE嵌入式高级编程及其实例讲解(用C++实现)》这本书里是在抓拍时保存图片的,我不想保存图片后在获取数据啊,我想直接获取,驱动方面的不懂,jazka346704803能否说一下如何用ds……
[/Quote]
没事,,我最近也在学习directshow的知识了,补充一下知识,看看怎样做。。。
jazka346704803 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lester_2008 的回复:]

不好意思啊各位,最近在忙着课程设计,晕啊。。。
我是想在摄像头预览时抓拍二维码,也就是点击抓拍按钮时直接从摄像头获取这个二维码图片的数据,在《Windows CE嵌入式高级编程及其实例讲解(用C++实现)》这本书里是在抓拍时保存图片的,我不想保存图片后在获取数据啊,我想直接获取,驱动方面的不懂,jazka346704803能否说一下如何用dshow在应用程序里获取数据啊,各位老大也帮帮小弟吧。……
[/Quote]
不好意思,出差刚回来。dshow应用程序中获取数据我也没有做过,需要熟悉DShow的结构。
小菩提的尾巴 2011-11-28
  • 打赏
  • 举报
回复
不好意思啊各位,最近在忙着课程设计,晕啊。。。
我是想在摄像头预览时抓拍二维码,也就是点击抓拍按钮时直接从摄像头获取这个二维码图片的数据,在《Windows CE嵌入式高级编程及其实例讲解(用C++实现)》这本书里是在抓拍时保存图片的,我不想保存图片后在获取数据啊,我想直接获取,驱动方面的不懂,jazka346704803能否说一下如何用dshow在应用程序里获取数据啊,各位老大也帮帮小弟吧。。。
jazka346704803 2011-11-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lester_2008 的回复:]
引用 4 楼 jazka346704803 的回复:
用DShow的话,你应该用的是wince6.0吧,那么在驱动中,你可以找到数据保存到哪里了,那样就可以在驱动里面直接获取数据。

第一次用dshow,不太懂,用的是wince6.0,请问如何获取抓拍时的数据呢,能否详细点。。。
[/Quote]
有两种方法:一种是在驱动里面修改,提供iocontrol接口,获取源数据;二是连接DShow之后,从应用程那里找数据。你现在找到抓拍的数据在代码的哪部分了吗?
jazka346704803 2011-11-19
  • 打赏
  • 举报
回复
用DShow的话,你应该用的是wince6.0吧,那么在驱动中,你可以找到数据保存到哪里了,那样就可以在驱动里面直接获取数据。
小菩提的尾巴 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jazka346704803 的回复:]
用DShow的话,你应该用的是wince6.0吧,那么在驱动中,你可以找到数据保存到哪里了,那样就可以在驱动里面直接获取数据。
[/Quote]
第一次用dshow,不太懂,用的是wince6.0,请问如何获取抓拍时的数据呢,能否详细点。。。
小菩提的尾巴 2011-11-16
  • 打赏
  • 举报
回复
摄像头部分我是参考《Windows CE嵌入式高级编程及其实例讲解(用C++实现)》(汪兵等著),书上是抓拍后直接保存为图片的,问题是我想在抓拍后直接获取图像数据,而不是从保存的图片中来获取。我做的是一个二维码解码系统,需要获取拍到的数据来解码。。。各位老大有没有知道怎么获取数据的
老猿的春天 2011-11-15
  • 打赏
  • 举报
回复
旋转静态图像吗?直接操作图像数据,wince下获取静态图像数据如果硬件没提供,就只能自己弄到buffer,然后按固定格式弄出来。
91program 2011-11-15
  • 打赏
  • 举报
回复
一般摄像头驱动都会提供 IO 来操作的,例如:
IOCTL_CAMERA_DEVICE_START_CAPTURE
IOCTL_CAMERA_DEVICE_STOP_CAPTURE

可能还需要类似于:YUV2RGB() 等的函数转换后才能完成预览。

19,518

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧