2016-06-10 59 views
1

我有一個程序,我在OpenCV中顯示一個名爲Windows()的視頻源。該計劃允許我到namedWindow內單擊,但如果我嘗試移動窗口我的桌面上它觸發convert.cpp閱讀當我移動NamedWindow時,OpenCV崩潰

第一次機會異常在0x00D061A8在AlcesSandboxApp.exe一個錯誤:0000005:訪問衝突讀取地址0x44374050。

如果有這種異常的處理程序,程序可能會安全地繼續。

這裏就是我初始化窗口行:

 namedWindow(wndDisplay, WINDOW_AUTOSIZE); 

我一直在使用WINDOW_NORMAL也試過。我應該如何創建一個可以容忍被移動的namedWindow?

UPDATE:附加代碼

//Display the new image 
while(true){ 
    //dispImg is a shared pointer that is updated in another thread. 
    cv::applyColorMap(dispImg, colorMat, colorMap); 
    imshow(wndDisplay, colorMat); 
} 
+0

沒有足夠的上下文來告訴。你能否發佈更多你的代碼? –

+0

我添加了一些更多的代碼,但實際上沒有比這更多的代碼。 – stranger

+0

你的代碼清楚地訪問了它不應該使用的內存,並且從你提供的代碼中不清楚哪裏可能是問題。 –

回答

0

它可以是用於尤爾的OpenCV配置。你使用32位還是64位? 您是否根據操作系統和調試或發佈來配置Opencv? 最好的測試方法是編譯一個非常簡單的例子,像這樣sample!就像讀取圖像並顯示它,如果它正常工作,然後檢查您的代碼,如果不通過此鏈接檢查配置步驟: Configuration steps