Использование OpenCV, всякий раз, когда я сохраняю изображение (из потока камеры) в формате JPG на диск.Размер файла в байтах на диске отличается в зависимости от качества JPEG, как и ожидалось.
Однако всякий раз, когда я читаю изображения независимо от размера файла на диске, размер памяти остается постоянным.Это нормально?
Кроме того, кажется, что существует огромная разница в размере диска и памяти изображения.Я ожидал, что объем памяти будет намного меньше, чем размер диска.
Например,
import sys
import cv2
cv2.imwrite('temp.jpg', frame, [int(cv2.IMWRITE_JPEG_QUALITY), 10])
# disk size of temp.jpg is 24kb
image = cv2.imread('temp.jpg')
# memory size is 2.7 mb
cv2.imwrite('temp.jpg', frame, [int(cv2.IMWRITE_JPEG_QUALITY), 90])
# disk size of temp.jpg is 150kb
image = cv2.imread('temp.jpg')
# memory size is still constant at 2.7 mb
Вот как я вычисляю объем памяти:
print("Image byte size :", round(sys.getsizeof(image) / (1024 * 1024), 2), "mb")