0
私はEmugライブラリを使用して画像のセットからビデオを作成しています.ほとんどの場合、プログラムを実行するとMemoryOutOfBound例外、 videoWriter()を使用することで、大容量のメモリ(> 2ギガバイト)を使用できるようにするには、あなたのプログラムが必要な場合は、x64プラットフォーム用にコンパイルする必要があります(と1上で実行されている)どのようにメモリを増やすにはVisual StudioのC#でMemoryOutOfBound例外を避けるために使用する
p = dp.FileName + ".avi";
VideoWriter v = new VideoWriter(p, 24, hd.Width, hd.Height, true);
string filename = "";
int iiii = 0;
for (int j = 0; j < a; j++)
{
filename="frames" + j + ".bmp";
hdd = new Bitmap(jj + "\\new1\\" + filename);
hd = new Image<Bgr, Byte>(hdd);
v.WriteFrame(hd);
}
v.Dispose();
あなたは 'hdd'でBitmapインスタンスを破棄することもできますが、どのタイプの画像が正確かはわかりませんが、IDisposableも実装している場合は同様にします。進捗状況を報告してください。 – rene
'Dispose'は瞬時に実行されるわけではありません。おそらく、GCにメモリ割り当て(' AddMemoryPressure'/'RemoveMemoryPressure')を指示するだけで十分でしょう。さもなければ 'GC.Collect'を呼び出して待ちます。 – Sinatr
これが役立つかどうかわからない:http://wiki.tesnexus.com/index.php/2-4GB_game_memory_limits_and_solutions#LAA_in_Generalおよびhttps://helloacm.com/large-address-aware/ –