Как я могу автоматически уменьшить размер изображений, которые имеют больше пикселей, чем необходимо для фактического разрешения? [закрыто]

Многие факторы влияют на истинное разрешение изображения — реальную разрешаемую детализацию — включая качество объектива, размер сенсора и технологию, шум и шумоподавление, размытость изображения при движении и технику камеры, и даже сам объект. Важно иметь достаточное разрешение в пикселях, чтобы захватить это, но больше , чем это, кажется пустой тратой времени.

У меня много фотографий со смартфона или спортивной камеры, на которых может быть слишком много пикселей. Есть ли программный способ обнаружить этот "избыточный вес" и уменьшить его? (Предпочтительно, командная строка в Linux.)

Если нет существующего инструмента, я попробую сценарий или программу Python, но тогда самой сложной частью будет «определение избыточного веса изображения»: я могу легко получить разрешение и другие значения из , но мне понадобится параметр вроде « exiftoolкак многие смежные пиксели похожи», что, если оно очень высокое, будет означать, что разрешение слишком высокое (т. е. может быть уменьшено без заметной потери качества). Какой-нибудь намек здесь?

Какую реальную проблему вы пытаетесь решить? Недостаточно памяти на телефоне?
Итак, вы бы уменьшили фотографию неба до 2-3 пикселей (потому что ВСЕ смежные пиксели одинаково синие)?
Я почти уверен, что знаю, к чему вы клоните — я не думаю, что это неясно. Однако на самом деле это все еще может быть невозможно , но это другой вопрос, поэтому я проголосовал за повторное открытие.
Если какие-то файлы содержат в себе бесполезные данные, их можно и нужно удалить, верно? Я думаю, что этот вопрос закономерен.
@JimGarrison У меня есть сценарии резервного копирования, я везде синхронизирую свои папки, и для этого лучше подходят файлы меньшего размера. Мне также не нравится, когда производители обманывают рекламу «миллиарды пикселей», когда фактическое разрешение изображения ниже.
@Alex.S, если камера записывает изображение, на котором все пиксели неба одинакового синего цвета, я бы сохранил его в формате gif или png, и файл будет очень маленьким. А если серьезно, то проблема в том, что у каждой камеры свой "фоновый шум" и записывать этот шум в файл бесполезно.
Что касается вашего «упрощения» моего редактирования заголовка - я думаю, вы упростили его до такой степени, что людям все еще неясно, поскольку оно оставляет «слишком большой для чего?» как назревший вопрос.
@mattdm хорошо, постараюсь уточнить
@mattdm есть ли способ снова открыть этот вопрос?
Я не знаю - я старался изо всех сил! Может быть, это на meta.photo.stackexchange.com

Ответы (1)

У меня много фотографий со смартфона или спортивной камеры, на которых может быть слишком много пикселей. Есть ли программный способ обнаружить этот лишний вес и уменьшить его? Предпочтительно командная строка на linux.

Слишком много пикселей для чего ? Никакое программное обеспечение не может знать заранее, что вы планируете делать с этими изображениями или каким может быть приемлемое снижение качества, поэтому никакое программное обеспечение не может автоматически снизить разрешение таким образом, который подходит для всех случаев.

Если нет существующего инструмента, я попробую скрипт или программу на Python, но тогда самой сложной частью (для меня) будет «определить избыточный вес изображения».

Это именно проблема. То, что считается «избыточным весом» для печати с разрешением 4x6 дюймов, может быть «недостаточно пикселей» для печати с разрешением 16x24 дюймов.

Мне понадобится такой параметр, как «насколько похожи смежные пиксели», который, если он очень высок, будет означать, что разрешение слишком велико (т.е. может быть уменьшено без заметной потери качества). Какой-нибудь намек здесь?

Это именно то, что делают алгоритмы сжатия, такие как JPEG, и в случае с JPEG есть параметр, который помогает определить, насколько качество может быть потеряно во имя уменьшения размера файла. Итак, в этом смысле ответ — да, существует существующий инструмент , и это просто вопрос сохранения ваших изображений в формате JPEG. Существуют также форматы сжатия, которые уменьшают размер файла с нулевой потерей качества, потому что это форматы без потерь, т. е. они не отбрасывают данные. PNG является одним из таких форматов.

«Слишком много пикселей для чего?» Не правда ли, что некоторые камеры записывают собственный шум? Это кажется очевидным при съемке ночью. Тогда это, например, не нужно хранить и можно спокойно удалить из файлов. И алгоритм jpeg не имеет возможности узнать.
@gb. Как узнать, какие пиксели являются шумом, а какие частью изображения? Некоторые камеры могут делать это, записывая «темный» кадр, чтобы увидеть только шум, а затем вычитая его из изображения. Вы по-прежнему получаете то же количество пикселей в изображении, они просто лучше (менее шумные, более правильные) пиксели.
Шум случайный по определению. Даже после вычитания темного поля у вас есть шум. Это основной факт физики, который нельзя обойти. Особенно на камере смартфона с ее крошечным сенсором.