2017-08-10 12 views
2

私はMATLABのリアルタイムテストソフトウェアに取り組んでいます。ユーザー入力では、50〜200の高解像度画像(〜25 MB)から1つ(または複数の隣接ピクセル)の値を抽出します。MATLAB:何千(何千)の大きなファイルに比べて、何百万もの小さなファイルに問題はありますか?

私の問題は、RAMに保存するために大きな画像セット(〜2000画像)が必要であることです。その結果、各ユーザー入力後にディスクから50〜200枚の画像をそれぞれ読み込む必要がありますスロー!

私はサブ画像(〜100x100ピクセル)に分割し、これらを別々に保存することを考えていました。これは、画像読み取りプロセスを迅速に行う。

この方法には何か問題がありますか?たとえば、小さなファイルをたくさんコピーしている人がいると読んだことがあります。これは画像の読み込み速度を遅くすることになりますか?

+1

[imread](https://www.mathworks.com/help/matlab/ref/imread.html)の「PixelRegion」オプションを使用すると、サブイメージを読み取ることができます。 – rahnema1

+0

ありがとう!これにより、各入力の応答時間は数分から数秒に短縮され、今は十分です。 – IsseBisse

答えて

0

rahnema1が正しいです - imread(...、 'PixelRegion')は読み取り操作を固定します。ファイルが断片化されていなくても、データベースがあると思うでしょうか? ディスク操作は常にボトルネックです。まず、ディスクキャッシュ、分散ストレージ、RAIDの順に切り替え、しばらくしてメモリ内のデータベースを完成させます。適切なアクセス速度を選択する必要があります。

関連する問題