私はOpenCVを独自のref-countedイメージクラスを持つレガシーコードベースと統合しています。私はcv :: Matからこれらのイメージを作成するためのコンストラクタを追加しています。最適化として、私はcv :: Matのrefcountingメカニズム&を利用して、データを所有しているときに浅いコピーを作成したいと思います。しかし、外部データを使用している場合は、詳細コピーを強制する必要があります。cv :: Matが内部データまたは外部データを使用しているかどうかを確認するにはどうすればよいですか?
問題は、ドキュメントを読むことから、cv :: Matがデータを所有しているかどうかを判断する方法がないことです。これは(OpenCVを変更せずに)行うことができますか?
ご参考までに、私はOpenCV 3.1を使用しています。
cv :: Matのコンストラクタまたはデストラクタコード内部または外部のデータを保持していますか? – Micka
私はmat.hpp、matrix.cpp、およびumatrix.cppを見て、その複雑さを理解するのに十分な時間をかけました。 –
私が見逃したのはopencv2/core/mat.inl.hppでした。一部のインライン関数がおそらくどこかに隠れていると思った。 –