DirectShow 图像翻转
问题背景:有一台类似于ATM的自助设备,现在需要有视频预览、拍照,将照片上传到服务器的功能。
其中摄像头的预览、拍照根据陆其明老师《DirectShow实物精选》的源码程序AVCap修改,已经可以正常工作。
我的系统是Win7,开发环境是vc2010。
具体问题:现在的问题是,由于模具存在问题。摄像头在安装的时候,上下倒置。导致预览出来的图像是上下翻转。如果不考虑模具修改,现在想从软件上将图像进行上下翻转(美图拍拍软件里面有这个功能)。
解决方法:由于项目时间比较紧,以前在DirectShow这也没有知识积累。不清楚如何解决。google出以下两个解决办法。
(1):“什么叫左右互反呢,一般摄像头获取的图像,就是从摄像头位置观察方向的图像,不是你双眼的观察方向,如果确实要左右互反过来,那写个filter处理下sample就行了。”
现在这个实现上下翻转的filter我已经弄出来了。(也是网络搜索的程序,然后自己修改的)。并且在机器上注册成功。但现在不知道如何将这个翻转filter集成到AVCap中。也就是如何使用这个filter,该将这个filter添加到哪里去?
(2)“如果只需要预览时左右翻转过来,调用video render的IVMRMixerControl::SetOutputRect()”
请问大家,这种解决办法,是修改DirectShow源码吗?然后重新编译lib?我在DirectShow源码的VMR目录下没有找到IVMRMixerControl::SetOutputRect()。
上面是我的问题。希望大家帮忙指导,谢谢大家。如果问题能够解决,我把所有可用分都给您。
(版主能帮忙把这个问题置顶吗?^_^)