私はこの質問が以前に尋ねられたことを理解しています。私は答えを読んで解決策を試しましたが、それは私にとってそれを解決していません。
Ubuntu 10.10(32ビット)とEclipseCIDEでOpenCV2.1を使用しています。
私の問題:
ファイルからテキスト行を読み取り、それをchar *変数に格納して、これをcvLoadImageに渡すと、何も得られません。ファイルから読み取ったテキスト行は、特定の画像への完全に定義されたファイルパスです。
コードは次のとおりです。
FILE *f = fopen("./input.txt","r");
char img1[50];
fgets(img1,50,f);
char* img3 = strtok(img1,"\n");
IplImage* frame = cvLoadImage(img3);
その結果、フレームは0x00000000になり、画像は表示されなくなります
しかし
実行可能ファイルに引数と同じテキストを渡すと、argv[1]をchar*に格納し、それをcvLoadImage()に渡すと、期待どおりに画像が読み取られます。
コードは次のとおりです。
char* img3 = argv[1];
IplImage* frame = cvLoadImage(img3);
これの原因はわかりません。:s
引数としてファイルに渡される文字列は正確に次のとおりです:(引用符を含む)
"/home/atharva/Documents/FYP/1a.jpg"
ありがとう