Opencv.py 767 Bytes
# coding=utf-8
#author:        4N
#createtime:    2021/10/18
#email:         nheweijun@sina.com
import cv2
import numpy

class Opencv:

    @classmethod
    def create_image(cls,image_type, pixel_array, quality):

        if image_type.__eq__("image/jpeg") or image_type.__eq__("image/jpg"):
            r, buf = cv2.imencode(".jpg", pixel_array, [cv2.IMWRITE_JPEG_QUALITY, quality])
            image_out = buf.tobytes()
        else:
            height, width = pixel_array[:, :, 0].shape
            four = numpy.zeros((height,width), dtype=int) + 255
            four[pixel_array[:, :, 0] == 65536] = 0
            r, buf = cv2.imencode(".png", numpy.dstack((pixel_array, four)))
            image_out = buf.tobytes()
        return image_out