Yêu cầu thg 10 4, 2021 5:24 SA 118 0 1
  • 118 0 1
+1

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

Chia sẻ
  • 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 CÂU TRẢ LỜI


Đã trả lời thg 10 8, 2021 2:23 SA
Đã được chấp nhận
+1

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

Chia sẻ