Asked Oct 4th, 2021 5:24 a.m. 118 0 1
  • 118 0 1
+1

Tối ưu bộ nhớ khi convert từ ảnh sang array

Share
  • 118 0 1

Chào mọi người. Mình có hàm convert ảnh như dưới.

def create_grayscale_image(img):
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    hsv = np.array(hsv, dtype=np.float64)
    hsv[:, :, 2] = hsv[:, :, 2] * 1.5
    hsv[:, :, 2][hsv[:, :, 2] > 255] = 255
    img_gray = cv2.cvtColor(np.array(hsv, dtype=np.uint8), cv2.COLOR_HSV2BGR)
    img_gray = cv2.cvtColor(img_gray, cv2.COLOR_BGR2GRAY)
    img_gray = cv2.cvtColor(img_gray, cv2.COLOR_GRAY2BGR)
    return img_gray

Nhưng xử lý ở dòng hsv[:, :, 2] = hsv[:, :, 2] * 1.5 khá là tốn bộ nhớ dẫn đến trường hợp lúc xử lý ảnh lớn thì bị kill.

Các cao nhân cho mình hỏi có hướng nào khắc phục không ạ ?

Cảm ơn mọi người đã đọc.

1 ANSWERS


Answered Oct 8th, 2021 2:23 a.m.
Accepted
+1

Mình đã chuyển xử lý này lên AWS Lambda rồi ạ!!!

Share
Viblo
Let's register a Viblo Account to get more interesting posts.