Io.BytesIO()構造からOPENCVで画像を読み込もうとしています。元々、コードは以下のようにPILを使用して画像をロードします。
image_stream = io.BytesIO()
image_stream.write(connection.read(image_len))
image_stream.seek(0)
image = Image.open(image_stream)
print('Image is %dx%d' % image.size)
私はそのようなOPENCVで開こうとしました:
image_stream = io.BytesIO()
image_stream.write(connection.read(image_len))
image_stream.seek(0)
img = cv2.imread(image_stream,0)
cv2.imshow('image',img)
しかし、imreadはBytesIO()を処理していないようです。エラーが発生します。
OPENCV3.3とPython 2.7を使用しています。誰か助けてくれませんか?
Henriqueこれを試してください:
import numpy as np
import cv2 as cv
import io
image_stream = io.BytesIO()
image_stream.write(connection.read(image_len))
image_stream.seek(0)
file_bytes = np.asarray(bytearray(image_stream.read()), dtype=np.uint8)
img = cv.imdecode(file_bytes, cv.IMREAD_COLOR)