我一直在用openCV開發一些計算機視覺工具,但每當我將一個字符串傳遞給openCV函數時,ÌÌÌÌ字符都會被標記到開頭。起初這只是令人討厭的,但現在我正在嘗試使用openCV的fileStorage工具,並且使用太字符使我的文件名無法讀取。爲什麼ÌÌÌÌÌÌÌÌ特徵卡在我的弦開始?
注:只有在將字符串傳遞到新的C++樣式openCV函數時纔會添加字符。如果我使用舊的C風格函數,那麼字符串會很好。
例如: 我輸入:
namedWindow("CBImage", 1);
.
.
.
imshow("CBImage", Frame);
但窗口的標題讀ÌÌÌÌCBImage
我不認爲這個問題是一定特定於OpenCV的;我認爲它一般與字符串使用有關。檢查此鏈接編碼器似乎遇到類似的問題。 http://www.sfml-dev.org/forum/viewtopic.php?t=1257&sid=5cfa50b780e47685d1c03296adffa8ed
有什麼想法? 謝謝
謝謝大家的幫助。 KennyTM的原始建議確實解決了這個問題。我不得不使用調試版本替換我的cv cvaux cvcore和highgui庫(它們可能需要根據您運行的openCV的版本來構建,請在openCV目錄中檢查您的lib文件夾)。
您使用的是Visual C++嗎?如果是這樣,檢查'Ì'的十六進制值。它可能是'0xcc'或'0xcd'(我忘了它是哪一個)。無論哪種方式,這意味着指向的內存是未初始化的('0xcc'是一個標誌,用於指示堆棧中未初始化的內存;'0xcd'用於堆中未初始化的內存)。 – 2010-07-22 20:19:30
您是否正如混合調試和釋放二進制文件(意外或其他),如鏈接到的帖子解決方案中所述? – 2010-07-22 20:21:41