3
我正在使用cvloadimage
在我的程序中打開圖像。圖像位於外部目錄中,使用文件名中的當前時間生成。cvLoadImage使用字符串常量,但不是c_str()
當我嘗試加載這樣圖片:
IplImage *image = cvLoadImage(path.c_str,CV_LOAD_IMAGE_COLOR);
圖像結構將是NULL,應用程序將符合Q分段故障停止。 當我嘗試加載圖像是這樣的:
IplImage *image = cvLoadImage("path/images/image_2012_11_25.jpg",CV_LOAD_IMAGE_COLOR);
那麼它的偉大工程。
問題cvLoadImage
不能接受任何類型的文本,只有const char*
? 但c_str()
將字符串轉換爲char*
,對吧?
我該如何解決這個問題?
它不應該是'path.c_str(在'你的代碼? – Niko
原來它是,有一個拼寫錯誤。你可能每5秒只能編輯一條評論。(點擊此框取消) –
我根據你的評論進行了檢查,我沒有發現任何這樣的問題,兩種方法都一樣: 'string name(「path \\ test.png」); IplImage * img = cvLoadImage(name.c_str(),CV_LOAD_IMAGE_COLOR); cvShowImage(「Win」,img);''和'IplImage * img = cvLoadImage(「path \\ test.png」,CV_LOAD_IMAGE_COLOR); cvShowImage(「Win」,img);''我正在使用'OpenCV 2.4.5'如果您使用的是C++,我會建議您使用'cv :: Mat'等C++ OOP構造。 –