OpenCV.js の Mat 所有権が異なる経路では clone して解放責務を分ける
JavaScript
メモリ管理
OpenCV.js
OpenCV.js の Mat や contour を複数の処理経路で共有する場合、呼び出し先が Mat.delete() する設計かどうかを先に確認する。トラッカーやキャッシュが管理している Mat を、内部で delete するヘルパーへそのまま渡すと、後続フレームや破棄処理で二重解放・参照切れが起きる。共有元の寿命を維持したい場合は clone() した Mat を渡し、ヘルパー側には clone の解放だけを任せる。検証では、通常経路だけでなく非同期キューやアニメーション後の参照も通して確認する。