私はcv2.imread()を使って読み込んだイメージを持っています。これは、NumPy配列を返します。しかし、これをIplImage形式のデータが必要な第三者APIに渡す必要があります。OpenCV:PythonでNumPyからIplImageに変換する
IplImageからCvMatへの変換の例が見つかりました.C++での変換にはいくつかの参照が見つかりましたが、NumPyからPythonのIplImageへの変換は見つかりませんでした。この変換を行うことができる機能はありますか?
私はcv2.imread()を使って読み込んだイメージを持っています。これは、NumPy配列を返します。しかし、これをIplImage形式のデータが必要な第三者APIに渡す必要があります。OpenCV:PythonでNumPyからIplImageに変換する
IplImageからCvMatへの変換の例が見つかりました.C++での変換にはいくつかの参照が見つかりましたが、NumPyからPythonのIplImageへの変換は見つかりませんでした。この変換を行うことができる機能はありますか?
このようにすることができます。ここ
source = cv2.imread() # source is numpy array
bitmap = cv.CreateImageHeader((source.shape[1], source.shape[0]), cv.IPL_DEPTH_8U, 3)
cv.SetData(bitmap, source.tostring(),
source.dtype.itemsize * 3 * source.shape[1])
bitmap
cv2.cv.iplimage
Froyoありがとう、これは私にIplImageを取得しますが、イメージが破損しているようです。 cv.CreateImageHeaderとcv.SetDataを使用する代わりに、私はcv2.cv.CreateImageHearderとcv2.cv.SetDataを使用しています。違いがあると思いますか? – steve8918
実際に私はそれを理解しました。変換しようとしていたタイルはBGRではなくバイナリでした。そのため、それが壊れていたのです。だから私は3に1を変更し、それは完全に働いた。正しい方向に向いてくれてありがとう。他の誰かがそれを必要とする場合は、OpenCV Cookbookにhttp://opencv.willowgarage.com/wiki/PythonInterface/での変換方法に関する情報があります。 – steve8918
であることがnumpyのでいいです - > CvMatの? –