OpenCV: сохранение файлов изображений. Разница между cv.imwrite и f.write()?Python

Программы на Python
Ответить
Anonymous
 OpenCV: сохранение файлов изображений. Разница между cv.imwrite и f.write()?

Сообщение Anonymous »

Я импортирую изображения с камеры видеонаблюдения для их обработки. После импорта изображения я хочу сохранить изображение для архивирования (обработка будет происходить «на лету»).
Я вижу два доступных способа сделать это:
  • Встроенный в Python модуль записи файлов (который я буду называть «файловым методом»)
  • IMwrite в OpenCV (который я буду называть « OpenCV"), что требует от меня декодируйте изображение с помощью NumPy
Во время тестирования с использованием приведенного ниже кода я обнаружил следующие результаты:
  • Файл метода OpenCV (292 КБ) значительно больше файла метода file (153 КБ)
  • Такие значения, как dpi (96), разрядность цвета (24) и разрешение пикселей (1920x1080) идентичны между файлами.
  • Файл метода файла содержит больше метаданных, таких как время создания, представление цвета и информация о камере (см. снимок экрана), вероятно, из-за того, что NumPy/OpenCV не передается. эти данные включены.
Поэтому мой вопрос: какой метод лучше? Я хочу сохранить как можно больше информации. Почему такая разница между изображениями?

Код: Выделить всё

import requests
import numpy as np
import cv2 as cv

response = requests.get(cam_url, auth=login)
image = cv.imdecode(np.frombuffer(response.content, dtype=np.uint8), -1)

with open('file_method.jpg', 'wb') as f:
f.write(response.content)

cv.imwrite('opencv_method.jpg', image)
Примечание:
  • Я не могу связать сами снимки по соображениям конфиденциальности. Но поверьте мне, между ними нет заметной разницы.
  • Я знаю, что использование файлов PNG предпочтительнее JPEG, но здесь это не имеет значения).
Информация о системе:

[*]Python 3.12.7
[*]OpenCV 4.10 .0
[*]NumPy 2.1.3
[*]WSL2 (Ubuntu 22.04.5 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)


Подробнее здесь: https://stackoverflow.com/questions/793 ... nd-f-write
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»