2013-03-30 102 views
0

我的代碼在幾個月前一直工作到今天。它在C++cvSaveImage未在此範圍內聲明?

#include <iostream> 
#include <cv.h> 
#include <highgui.h> 
#include <stdio.h> 

using namespace std; 

int main() 
{ 
IplImage* img = cvLoadImage("C:/Users/Amadeus/Documents/H1/cat.png"); 

int result=cvSaveImage("C:/Users/Amadeus/Documents/H1/cat.png",img); <----- Problem 

return 0; 
} 

它一直說「cvSaveImage沒有在此範圍內聲明」。在現在所有人都說出來之前可以完美編譯的文件。我不明白它爲什麼在幾個月內運作,今天它說它沒有被宣佈。我甚至打開了我知道工作的文件,甚至沒有。這就像頭文件損壞或什麼的?你怎麼看?

回答

0

顯然,系統中的某些內容發生了變化。我假設你不知道究竟是什麼。開始發現它的好處是在預處理完成後查看您的文件。有關如何執行此操作,請參閱this question。由於某種原因,很可能你指向錯誤或損壞的cv.h文件。

順便說一下,你爲什麼不使用現代C++ OpenCV函數imreadimwrite?他們在全部比他們的老祖先更好的方式。

+0

謝謝!請牢記這一點。我重新安裝了OpenCV,這是非常枯燥的工作,並且再次運行。我相信在昨天發生意外錯誤之後,我可能會意外地編輯了頭文件。 –