Qt和OpenCV 2.0集成问题

Qt和OpenCV 2.0集成问题,qt,opencv,signals-slots,Qt,Opencv,Signals Slots,我有一个Qt应用程序,它使用OpenCV进行图像处理 OpenCV 1.0的一切都很好,但当我升级到 OpenCV 2.0它开始崩溃。 我注意到它只在调用OpenCV函数时崩溃 在Qt插槽内 例如,以下插槽: void TestClass::on_testButton_clicked() { IplImage* src = cvLoadImage("test.jpg"); IplImage* dst = cvCreateImage(cvGetSize(src), src->de

我有一个Qt应用程序,它使用OpenCV进行图像处理

OpenCV 1.0的一切都很好,但当我升级到 OpenCV 2.0它开始崩溃。 我注意到它只在调用OpenCV函数时崩溃 在Qt插槽内

例如,以下插槽:

void TestClass::on_testButton_clicked() {
   IplImage* src = cvLoadImage("test.jpg");
   IplImage* dst = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
   cvThreshold(src, dst, 100, 255, CV_THRESH_BINARY);
}
单击testButton时崩溃

但是,如果我在任何其他地方调用相同的cvThreshold函数, 例如在main()函数中 或者在小部件构造函数中,它可以正常工作。还有,如果我把 在单独的函数中使用相同的代码,并且 在同一插槽中使用QtConcurrent::run()调用该函数,则 也很好

为什么会有这种行为?操作有什么限制吗 这可以在Qt插槽内完成吗?OpenCV 2.0函数中有哪些变化 可能是冲突的起因


提前感谢

没关系,我在使用OpenCV的预编译库, 它们是用不同版本的mingw创建的

我使用cmake+mingw和
生成的库解决了问题。

如果答案解决了问题,请不要忘记接受答案。。这样问题就不会被标记为“未回答”。。此外,您还将获得一枚徽章。:)@安德烈斯:你是如何用cmake+mingw编译opencv+Qt的?如果我尝试这样做,我会得到一个错误,即名为
Windows gcc.cmake
的文件丢失。