OpenCVで加工した画像をWebインターフェース(CherryPyで作ったもの)で見せたいです。以下のコードは正常に動作しますが、画像ファイルを読み書きせずにそのようなタスクを実行する方法はありますか?
import cherrypy
import cv2
class Picture(object):
def __init__(self):
self.cam = cv2.VideoCapture(0)
@cherrypy.expose
def index(self):
_, image = self.cam.read()
cv2.imwrite('temp.jpg', image)
with open('temp.jpg', 'rb') as temp_file:
data = temp_file.read()
cherrypy.response.headers['Content-Type'] = 'image/jpeg'
return data
if __name__ == '__main__':
cherrypy.quickstart(Picture())