概要
Pythonでcv2を使う時 imread
が便利なので使うことが多いです。
img = cv2.imread(input_file)
ここで作られる img
は imread
でお手軽に作れます。
しかし、すでに読み込み済の画像のバイナリデータから、上記の img
相当のオブジェクトを作る関数が見つけられず困っていました。
結論
import numpy as np
# dataは画像のデータ
img_array = np.frombuffer(data, dtype=np.uint8)
img = cv2.imdecode(img_array, cv2.IMREAD_COLOR) # このimgがimreadで取得したのと同じimg
(詳細は下記「参考」にも書いたURLをご確認ください。)
補足
# 上記dataは以下のような形で取得した画像のデータ
with open(input_file, "rb") as f:
data = f.read()
参考
https://www.my-memorandum.tk/img2binarytext-opencv
この記事の内容を自分用にメモしただけなので内容はまったく同じです。
大変勉強になりました、ありがとうございます。