8

cv2.imread()を使用してロードした画像があります。これにより、NumPy配列が返されます。ただし、これをIplImage形式のデータを必要とするサードパーティのAPIに渡す必要があります。

私はできる限りすべてを精査し、IplImageからCvMatへの変換のインスタンスを見つけました。また、PythonでのNumPyからIplImageへの変換ではなく、C++での変換への参照をいくつか見つけました。この変換を行うことができる機能はありますか?

4

2 に答える 2

15

あなたはこのようにすることができます。

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

于 2012-07-17T18:18:13.447 に答える
0

適用する2つの方法:

  1. img = cv2.imread(img_path) img_buf = cv2.imencode('.jpg', img)[1].tostring()

  2. 画像ファイルを読むだけです。 img_buf = open(img_path, 'rb').read()

于 2018-06-27T02:58:40.027 に答える