ファイルを作成して保存するためにこれを行っています:
w = new StreamWriter(_outputDir + "\\" + averagesListTextFileDirectory + "\\" + averagesListTextFile + ".txt", false, Encoding.ASCII);
w.WriteLine("DANNY VIDEO META DATA\r\nFORMAT VERSION:1.00\r\nSOURCE: " + "<" + averagesListTextFile + ">" + "\r\nDATA: ");
for (int i = 0; i < averages.Count; i++)
{
w.WriteLine(averages[i]);
}
w.WriteLine("DATA");
w.Close();
しかし今、私は各インデックスのリストからの値が別の値の配列を持っているファイルに保存したいと思います。好き:
[0] 123 33 44 55 66 ...
[1] 33 44 565 66 .. ..
各インデックスには256個の値があります。
DATAの後のテキストファイルを次のように表示します。次の行は次のようになります。
フレーム番号1:123 33 44 55 66
フレーム番号2:33 44 565 66
したがって、各行には256個の値が含まれます。
このフォーマット。
これで、ファイルの形式は次のようになります。
DANNYビデオメタデータ
フォーマットバージョン:1.00
ソース:
データ:
15.1199916409607
13.7612831147295
13.746730806327
13.2768227559145
リストから値を読み取ると、形式は次のようになります。
DANNYビデオメタデータ
フォーマットバージョン:1.00
ソース:
データ:フレーム番号1:123 33 44 55 66
フレーム番号2:33 44 565 66
問題は、各インデックスに256個の値が含まれているリストを読み取る方法と、テキストファイルに書き込む方法です。
これは私がそれをやろうとした方法です:
private void WriteHistograms() // For automatic mode only for now
{
HistogramsFile = new StreamWriter(_outputDir + "\\" + averagesListTextFileDirectory + "\\" + "Histograms.txt", false, Encoding.ASCII);
HistogramsFile.WriteLine("DANNY VIDEO META DATA\r\nFORMAT VERSION:1.00\r\nSOURCE: " + "<" + averagesListTextFile + ">" + "\r\nDATA: ");
foreach (long[] array in Histograms)
{
foreach (long value in array)
{
frameNumber++;
HistogramsFile.WriteLine("Frame Number " + frameNumber + " : " + value);
}
}
HistogramsFile.WriteLine("DATA");
HistogramsFile.Close();
結果は25MBのファイルサイズです!そして、これがテキストファイルフォーマットの例です:
DANNY VIDEO META DATA
FORMAT VERSION:1.00
SOURCE: <MVI_2483.AVI_Automatic>
DATA:
Frame Number 1 : 5977
Frame Number 2 : 40775
Frame Number 3 : 174395
Frame Number 4 : 305855
Frame Number 5 : 265805
Frame Number 6 : 212232
Frame Number 7 : 153333
Frame Number 8 : 99743
Frame Number 9 : 62334
Frame Number 10 : 41018
Frame Number 11 : 27381
Frame Number 12 : 21403
Frame Number 13 : 18324
最後に、フレーム番号が表示されます。
Frame Number 973822 : 666
Frame Number 973823 : 1118
Frame Number 973824 : 0
ここで、最後のフレームが0である理由と、実際には約3800フレームしかないのに973824フレームである理由を確認してください。
それで、ファイルサイズは論理25MBですか?そして、私が望んでいたフォーマットは次のようなものです。
フレーム番号1:33 44 55 66 77 88 ......(この行の256の値)フレーム番号2:22 33 12 3 44 55 .......(この行の256の値)
等々。
リストヒストグラムは、すべてのインデックスに256個のインデックスがあり、それぞれに番号が付いているタイプです。
[0]持っている:[1] 23 [2] 22 [3] 44など[1]持っている:[1] 12 [2] 13[3]21など
では、何が問題なのですか?