cv2.imread()を使用してロードした画像があります。これにより、NumPy配列が返されます。ただし、これをIplImage形式のデータを必要とするサードパーティのAPIに渡す必要があります。
私はできる限りすべてを精査し、IplImageからCvMatへの変換のインスタンスを見つけました。また、PythonでのNumPyからIplImageへの変換ではなく、C++での変換への参照をいくつか見つけました。この変換を行うことができる機能はありますか?
あなたはこのようにすることができます。
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
適用する2つの方法:
img = cv2.imread(img_path)
img_buf = cv2.imencode('.jpg', img)[1].tostring()
画像ファイルを読むだけです。
img_buf = open(img_path, 'rb').read()