Skip to content Skip to sidebar Skip to footer

Write Opencv Image In Memory To Bytesio Or Tempfile

I need to write an OpenCV image that sits in memory to a BytesIO or Tempfile object for use elsewhere. I am concerned this is a dead end question, because cv2.imwrite() takes a fil

Solution 1:

cv2.imencode may help you:

import numpy as np
import cv2
import io

img = np.ones((100, 100), np.uint8)

# encode
is_success, buffer = cv2.imencode(".jpg", img)
io_buf = io.BytesIO(buffer)

# decode
decode_img = cv2.imdecode(np.frombuffer(io_buf.getbuffer(), np.uint8), -1)

print(np.allclose(img, decode_img))   # True

Post a Comment for "Write Opencv Image In Memory To Bytesio Or Tempfile"