Webカメラから画像を取り込んで Cv2.Mat に変換するときに、最も早い方法を探したい。というわけでいくつか方法を考えてみた。

[1] OpenCvSharp.CvCapture クラスで Iplimageを取得してCv2.CvArrToMat メソッドで Mat に変換する
[2] OpenCvSharp.CPlusPlus.FrameSource クラスで直接 Mat を吐き出させる

試しにテスト用のコードを書いてみた。
このコードでは
[1] が Cv1Capture()
[2] が Cv2Capture()
にあたる。

再利用性がとても低かったり、そもそもこれで比較になるのかという疑問点はあるけれど、とりあえずこんな感じで。

結果

[1]
8296
8544
8078
8063
8063
8089
8061
8063
8077

[2]
8063
8076
8063
8063
8079
8073
8063
8077
8061

結論

[1]も[2]も結果はほとんど変わらない。ということで、これからはその時その時で使い勝手がよさそうな方を適当に使っていくことにします。