無署名の文字トリプルの多数の行を含む txt ファイルがあります。データは OpenCV BGR 画像から取得されるため、各バイト トリプルは BGR Color 値です。
ファイルを読み込もうとすると、fgets() で読み込んでいる行が、おそらく画像ファイルの 3 分の 1 後に空になります。私のコードは次のとおりです。
FILE* DS;
DS = fopen("Data.txt", "r");
char line[100];
for (int x=0; x<image->width; x++)
{
for (int y=0; y<image->height; y++)
{
fgets(line, 10, DS);
sscanf(line, "%c %c %c", &FrontTexture->imageData[FrontTexture->widthStep * y + x * 3 + 0],
&FrontTexture->imageData[FrontTexture->widthStep * y + x * 3 + 1],
&FrontTexture->imageData[FrontTexture->widthStep * y + x * 3 + 2]);
}
}
fclose(DS);
ファイルにアクセスして行 x*y を見たので、行が 3 文字で埋められていることは確かです。それにもかかわらず、ファイルの 3 分の 1 の後、行に空白文字が 1 つしかありません。
それが十分に明確であることを願っています。前もって感謝します。
編集:
txt ファイルの一部:
Z a `
Y ^ a
Z ` a
Y ^ a
Y _ `
Z ` a
Y a `
Z b a
V c a
X b a
V c a
V c a
V c a
V c a
T c a
T c a
S c a
S c a
R b `
R b `
U b `
W a `
W a `
Y a `
Z b a
[ b a
Z b a
[ c b
Y c b
Y c b
これは、次によってファイルに書き込まれました。
for (int x=0; x<image->width; x++)
{
for (int y=0; y<image->height; y++)
{
fprintf(DS, "%c %c %c\n", FrontTexture->imageData[FrontTexture->widthStep * y + x * 3 + 0],
FrontTexture->imageData[FrontTexture->widthStep * y + x * 3 + 1],
FrontTexture->imageData[FrontTexture->widthStep * y + x * 3 + 2]);
}
}
EDIT2:
ここに私のテキストファイルがあります: http://www.2shared.com/document/SmLbhYzH/Datensatz.html サイズ: 6,15mb
EDIT3 私の OpenCV イメージのイメージ データは、b0 g0 r0 b1 g1 r1 で埋められるべき単なる文字配列です ...
次のように定義されます: char *imageData;