私は OpenCV を初めて使用し、cvLoadImage() 関数を使用して画像を読み込もうとすると問題が発生しました。
次のコードは、(1) 作業ディレクトリ (コメントアウトされたコード行) または (2) デスクトップ上のファイルへの明示的なパスを使用して、イメージ「testImg.bmp」をロードしようとします。2 つのイメージ ファイルは、2 つの場所にあることを除いてまったく同じであることに注意してください (つまり、作業パスはデスクトップではありません)。
最初の行 (コメントアウトされた行) を使用してプログラムを実行すると、イメージが読み込まれ、ウィンドウに表示されます。ただし、プログラムを記述どおりに (つまり、デスクトップ上の画像への明示的なパスを使用して) 実行すると、空のウィンドウが表示され、エラー メッセージ (「画像を読み込めません」というメッセージ) が表示されます。
イメージ ファイルを作業ディレクトリに移動することは、一般的に実行可能/望ましくないため、明示的なパス行で何が間違っていたかを教えていただけると助かります。
#include "stdafx.h"
#include "opencv/cv.h"
#include "opencv/highgui.h"
using namespace std;
int main(int argc, CHAR* argv[])
{
//IplImage* img = cvLoadImage("testImg.bmp");
IplImage* img = cvLoadImage("C:\Users\Jeremy\Desktop\testImg.bmp");
if(!img)
std::cerr<<"Unable to load image"<<endl;
cvNamedWindow("myfirstwindow");
cvShowImage("myfirstwindow",img);
cvWaitKey(0);
cvReleaseImage(&img);
return 0;
}