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

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

Chia sẻ
  • 104 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ẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí