1
我有一個使用OpenCV進行圖像處理的Qt應用程序。Qt和OpenCV 2.0集成問題
一切工作正常與OpenCV 1.0,但當我升級到 OpenCV 2.0它開始崩潰。 我注意到,只有在Qt插槽中OpenCV函數被稱爲 時,它纔會崩潰。
例如,下一個槽:被點擊時testButton
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);
}
崩潰。但是,如果我在任何其他地方調用相同的cvThreshold函數,例如在main()函數 內部或在Widget構造函數內部,它可以正常工作。另外,如果我將 相同的代碼放在一個單獨的函數中,並且 在同一個插槽中使用QtConcurrent :: run()調用該函數,那麼 也可以正常工作。
爲什麼會這樣?對Qt插槽內的操作 有任何限制嗎? OpenCV 2.0函數 中的哪些更改可能會導致衝突?
在此先感謝
如果問題能夠解決您的問題,請不要忘記接受您的答案。這樣,問題就不會被標記爲「未答覆」。此外,您將獲得一個徽章。 :) – Macke 2011-02-14 15:57:38
@Andres:你是如何設法用cmake + mingw編譯opencv + Qt的?如果我嘗試這樣做,會出現錯誤,名爲'Windows-gcc.cmake'的文件丟失。 – vsz 2012-04-07 18:21:01