この種のエラーを検索すると、多くのエラーが見つかりました。残念ながら、本当に私を助けてくれるスレッドはありませんでした。
に保存した画像ファイルがありarray
ますvector
。
約 1.8 GB (~1439 イメージ) の後std::bad_alloc
、メモリ位置でエラーが発生します。そのため、さまざまな方法で宣言しようとしましたarray
が、毎回同じエラーが発生します。
Image* img;
Image img[180000];
Image* img = new Image[180000]
vector<Image> img;
(180k は 1 分間のフレームになります)。1 分間を記録することはそれほど重要ではありませんが、~1439 フレーム以上を保存するとよいでしょう。または、少なくともこのエラーが発生する理由、または 1.8 GB で発生する理由を理解する必要があります。
多分誰かが私にそれを助けたり説明したりできますか?
PS: 私は 32 ビット システムを使用します。
問題は、画像をフォルダーなどに保存するのに時間がかかりすぎることです。たぶん、画像の必要な情報だけを配列に保存できる圧縮を見つける必要があり、完了したらフレームを復元できます。
これらすべての情報を保持する ax と y の「線」だけで画像を変換できると聞きました。しかし、これがどのように機能するかは別の問題です。
Mark Ingram からの回答は、まさに私が問題を理解するために必要なものでした。ありがとう
編集:ああ、私の問題を十分に説明していないことがわかりました。私は画像を持っていなかったので、プログラムにロードしました。私は 50Hz の周波数でフレームを記録するカメラを持っているので、記録中にフレームを保存する時間がありません。