答えて
公式にOpenCVは、2種類のPythonインターフェイス、cv
とcv2
をリリースしました。
CV:
私はcv
上で作業を開始。この場合、すべてのOpenCVデータ型はそのまま保持されます。たとえば、ロードされると、イメージはC++の場合と同じフォーマットcvMat
になります。
アレイ操作の場合、cvSet2D
,cvGet2D
などのようないくつかの機能があります。いくつかの議論では、それらは遅くなっています。
imageROIには、cvSetImageROI
のような特別な機能が必要です。
輪郭が見つかった場合は、cvSeq
の構造体が返されます。これはPythonリストやNumPy配列と比較してうまく動作しません。
(そして、私が思うに、すぐにその開発が停止されます。以前、唯一cv
があった。その後、OpenCVのはcv
とcv2
の両方に付属している。今、最新のリリースでは、そこcv2
モジュールのみで、cv
。。)あなたがそれにアクセスするためにimport cv2.cv as cv
を呼び出す必要がcv2
内部のサブクラスである
CV2:
そして最新のものはcv2
です。この中で、lists
、tuples
、dictionary
などのようなndarray
およびnative Python
オブジェクトのようなオブジェクトはすべてNumPy
というように返されます。したがって、このNumPyサポートによって、ここでどんなnumpy操作も実行できます。 NumPy
は非常に安定した高速アレイ処理ライブラリです。
例えば、画像をロードすると、ndarray
が返されます。
array[i,j]
は、(i、j)位置のピクセル値を示します。
また、imageROIの場合、配列スライシングはROI=array[c1:c2,r1:r2]
のように使用できます。別々の機能は必要ありません。
2つの画像を追加するには、関数を呼び出す必要はありません。res = img1+img2
を実行してください。 (ただし、NumPyの追加は、画像のようなuint8配列のモジュロ演算です。詳細はDifference between Matrix Arithmetic in OpenCV and Numpyを参照してください。
返される輪郭は、Numpy配列のリストです。 Contoursの詳細な説明はContours - 1 : Getting Startedです。
簡潔に言えば、cv2ではすべてが単純化され、かなり高速です。
cv2
をスピードアップnumpyの方法についての簡単な議論は、スタックオーバーフローの質問Performance comparison of OpenCV-Python interfaces, cv and cv2です。
pyopencv:
私はそれを使用していないので、私はこれについて多くを知りません。しかし、それはさらなる発展を止めたようだ。
私は公式の図書館に固執する方がよいと思います。
要するに、私はcv2を使用することをお勧めします!
EDIT:あなたはInstall OpenCV in Windows for Pythonにcv2
モジュールのインストール手順を見ることができます。
- 1. これらの2つのPython pandasデータフレームコマンドの違いは何ですか?
- 2. Pythonのこれら2つの配列宣言の違いは何ですか?
- 3. jqueryでこれらのコード行の違いは何ですか?
- 4. これらの2つのインポートステートメントの違いは何ですか?
- 5. これらの2つのコードの違いは何ですか?
- 6. これらの2つのCSSの違いは何ですか?
- 7. これらのタイプのポインタの違いは何ですか?
- 8. これらのコードの `{}`と `()`の違いは何ですか?
- 9. これらのObjective Cのメソッドスタイルの違いは何ですか?
- 10. Objective cのこれらの@propertiesの違いは何ですか?
- 11. これらの2つのクエリの違いは何ですか
- 12. これらの2つのコードセグメントの違いは何ですか。
- 13. これらの2つのコードの違いは何ですか?
- 14. これらの2つのインポートステートメントの違いは何ですか?
- 15. これらの2つのバインディングの違いは何ですか?
- 16. これらの違いのキャッシュ制御パラメータの違いは何ですか?
- 17. Typescriptでは、型とインターフェイスの違いは何ですか?
- 18. これらのオーディオフレームワークの違いは何ですか?
- 19. これら2つのJavaコードの違いは何ですか?
- 20. これら2つの宣言の違いは何ですか?
- 21. これら3つのステートメントの違いは何ですか?
- 22. これらの正規表現の違いは何ですか
- 23. これらの2つの違いは何ですか?
- 24. これらのJSONコマンドの違いは何ですか?
- 25. これらのインポートステートメントの違いは何ですか?
- 26. これらのPHP変数の違いは何ですか?
- 27. Python:Tribonacciシーケンス - これらのコードの違いは何ですか?
- 28. これらのIBM.Data.DB2 dllの違いは何ですか?
- 29. これら2つのJava arrayList.add(の違いは何ですか)
- 30. これらのクラスステートメントの違いは何ですか?
cv2へのリンクはありますか? – Framester
cv2ソースからOpenCVをビルドする場合は、Pythonインターフェイスがコンパイルされ、インストールされます。 Linuxやその他のOSでバイナリパッケージを使用している場合は、OS /ディストリビューションのドキュメントを参照してください。ヘルプについてはhttp://goo.gl/MUjXiをご覧ください。 –
@Framester:このリンクのcv2のインストール手順をご覧ください:http://opencvpython.blogspot.in/2012/05/install-opencv-in-windows-for-python.html –