新しい Unity3D UI システムで Emgu のカメラ キャプチャから画像をレンダリングしようとしています。今まで、私はこのリポジトリから ImageToTexture2d を使用しました: https://github.com/neutmute/emgucv/blob/3ceb85cba71cf957d5e31ae0a70da4bbf746d0e8/Emgu.CV/PInvoke/Unity/TextureConvert.cs そして Sprite.Create() を使用して最終的に必要なものを達成しました結果。
しかし!Unity エディターを実行しているゲームの 2 ~ 3 分後に、約 200MB で開始したところに約 3GB の RAM が突然使用されるため、大量のメモリ リークが発生しているようです。
私には2人の容疑者がいます:
- (より可能性が高い) 私が使用している方法は、メモリを消去しません。InterOp を使用し、安全でないポインターをいくつか作成します。漏れの匂いがします。
- フレームごとに実行される Sprite.Create は、古いスプライトをメモリに保持し、それらを削除しません。
Emgu の画像を (InterOp を使用せずに) スプライト/テクスチャに変換する他の方法、または New Unity の UI に表示できる他の方法を知っている人はいますか? カメラから受け取った画像に対してもいくつかの操作を行うため、これは Emgu の画像でなければなりません。
回答とヘルプを前もって感謝します。:D