我正在尝试将一些OpenCVfunction集成到我的应用程序中。 目前,我已经使用DirectShow设置了代码,从我的相机获取video源,然后显示在MFC窗口中。 此代码不能更改或删除。
IplImage *img = cvLoadImage("C:/well.jpg");
networking摄像头无法正确初始化并中断程序。
更直接地,我得到一个失败HRESULT在:
启动时在清单中使用uiAccess = true运行C#WPF应用程序
multithreading代理检查器
使用C ++ 11与GCC 4.8默认会导致链接错误与私有inheritance和提升
如何使用Windows应用程序在第三方网站上填写和提交Web表单?
CoInitializeEx(NULL,COINIT_APARTMENTTHREADED)
更具体地说,在我的代码中的某个点调用CDialog :: doModal(),然后命中CoInitializeEx(),从而使程序失败。
有谁知道这里发生了什么?
将.NETconfiguration为在Windows 8上使用3.5,在Windows 8上使用4.5
GTK窗口在使用窗口时停顿'Sleep()
睡眠()function不工作?
语法错误:缺less';' 在编译winnt.h时标识符“PVOID64”之前
如果线程之前被初始化为不同的公寓,CoInitialize将失败,即,如果之前有CoInitializeEx(NULL,COINIT_MULTITHREADED)
我猜想,OpenCV调用CoInitializeEx(NULL,COINIT_MULTITHREADED),导致您的后续调用CoInitializeEx失败。 你可以通过检查CoInitializeEx的返回值来确认 – 在这种情况下它将是RPC_E_CHANGED_MODE。
没有简单的解决方法,最简单的方法就是将OpenCV调用移入单独的线程。
除了Michael所说的检查外,还要检查外部依赖的DLL,如果缺少CoInitialize也会失败。
我有一个类似的问题。 在我的MFC应用程序调用AfxOleInit RPC_E_CHANGED_MODE失败。
我不能忽视失败(我需要应用程序内的COM),我不能将OpenCV调用移动到不同的线程(正如Michael所说的)。
我发现线程“wxwidgets和opencv 1.1 ole初始化错误” ,解决了我的问题:我不需要从OpenCV的视频输入支持,所以我可以删除#define HAVE_VIDEOINPUT 1建议在http://tech.dir.groups .yahoo.com /组/ OpenCV的/消息/ 60060
去_highgui.h ,注释行96(“ #define HAVE_VIDEOINPUT 1 ”)并重新编译
它适用于OpenCV_1.1pre1a。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。