关于MFC+OpenCV的提问解决思路

关于MFC+OpenCV的提问
小弟最近有个工程需要用到OpenCV的透视变换和仿射变换做一个几何校正软件,编程环境为VS2010 MFC框架下。
OpenCV是众多大牛写的代码,可能是领域中代码效率比较高的吧。但是,经过实践后有几个问题想问问用过OpenCV的大牛。

1、OpenCV中透视变换(cvGetPerspectiveTransform)函数的效率如何?我用了一个定时器测试了对实时桌面截取的测试,设置的是每秒30次,但是已经卡的不行,现实的画面是一卡一卡的。
2、我用的是先将j截取桌面的图片保存为JPG格式,然后再经过cvLoadImage读入后处理,处理完后保存为图片,再读取图片显示在对话框,
CImage img.Load(L"...\\l.jpg");
img.Draw(m_pLDlg->GetDC()->GetSafeHdc(),0,0,ScW,ScH); 
是不是因为这部分操作使得程序的执行效率太低了?导致画面不连贯?
有什么办法能将直接对内存CDC或者HDC的内容处理吗?而不用先保存为图片再处理?OpenCV是可以对视频流处理的,不可能视频也要分成一张一张图片再处理吧?小弟实在找不到方法,求知道的大牛指教~~
------解决方案--------------------
那个一闪一闪的是不是没有双缓冲什么的?

cdc 里面的内容应该是可以搞到矩阵中的吧


------解决方案--------------------
对于问题一、其实 截取桌面 本身就是很耗时的,能达到 15 帧/秒就不错了,桌面不是视频,不必达到 30 帧/秒。网上有三种方法截取桌面(我是说 API 或者 DirectX),效率也不算太高[OpenCV 肯定也是调用这三种方法中的一种]。
对于问题二、保存为 JPG 文件,然后显示。这种方法算不上多好只能说勉强够用,再不行你可以用DirectShow,抓屏Filter -> RGB2YUV -> YUV2H264,发送数据,解压 H264->显示,这样就有点麻烦了。

你可以参考下 http://blog.csdn.net/robertbaker/article/details/8557124。