[Linux, JPEG-и из фотоаппарата] слишком большой размер
1600x1200целых 2 мегапикселя!
о май гад!
дай погонять!
пох, по-моему, там и 800x600 хватит, всё равно один трешак.
from PythonMagick import Image
image = Image ('picture.JPG')
print image.depth
8
Вообще это можно вытворить с помощью XnView - там пакетная обработка через GUI делается (Convert, Ctrl+u можно обойтись без мануалов. Программка кроссплатформенная, хотя и не open source. www.xnview.com
convert -quality 90%
скриншот такого размера в png весит меньшеа попробуй закодировать в png скриншот своей фотографии в jpg
Да и судя по тому, как сделана там конвертация, удобнее будет набросать скриптик, закидывать нужные фотки в какую-нибудь директорию и применять его ко всем файлам в той директории.
Ага, вот оно. Весит 2.6 - сейчас понятно, т.е. 2.6Мб jpeg на самом деле png-шки. Ура. Ща всё конвертируем на%уй!
Как можно уменьшить объём этой бандуры используя imagemagick?man convert?
Там ищи опции scale, quality.
jpeg в png некошерно конвертить, т.к.:
1) если картинка без резких границ, то jpeg пожмёт её лучше
2) если она была с резкими границами, то jpeg на этих границах её уже изговнял
Ммм, под виндой умеет. Под линуксом не проверял, конечно.
если она была с резкими границами, то jpeg на этих границах её уже изговнялА разве фотоаппараты/мобильники сохраняют фотки в jpeg не с качеством 100%?
А разве фотоаппараты/мобильники сохраняют фотки в jpeg не с качеством 100%?
Фотоаппараты могут сохранять жопеги с минимальным сжатием (порядка 1:4...1:6) и минимальной потерей данных, но не без этих самых потерь. Правда, ещё потери жопега зависят от алгоритмов его создания, и в фотиках, особенно мелких (в которые не ставят мощных процессоров из-за их высокого энергопотребления эти алгоритмы далеко не лучшие.
Не совсем подходит. Я ещё хочу масштабировать рисунки, чтобы они лезли в прямоугольник 1280x960 - как это сделать с помощью convert не изменяя пропорция картинки непонятно.
-resize
Не совсем подходит. Я ещё хочу масштабировать рисунки, чтобы они лезли в прямоугольник 1280x960 - как это сделать с помощью convert не изменяя пропорция картинки непонятно.Он всё умеет, только описания опций скудные.
Жопег не может не испортить картинку по определению (это формат сжатия с потерей данных).Да, это формат сжатия с потерей данных и с настраиваемым уровнем этой потери.
Например, какой-нибудь Xvid - тоже формат сжатия с потерей данных, но никто не мешает мне выставить там соответствующий уровень качества и получить картинку, на 100% совпадающую с исходной.
Правда, ещё потери жопега зависят от алгоритмов его создания, и в фотиках, особенно мелких (в которые не ставят мощных процессоров из-за их высокого энергопотребления эти алгоритмы далеко не лучшие.Это необязательно значит, что в фотиках будут некачественные фотки - это может означать и то, что в фотиках будут получаться слишком тяжёлые фотки (потому что места там как раз завались).
ЗЫ: Из википедии:
Since the quantization stage always results in a loss of information, JPEG standard is always a lossy compression codec. (Information is lost both in quantizing and rounding of the floating-point numbers.)Так что именно в JPEG картинки действительно не могут быть без потерь, но твои слова от этого верными не становятся.
Ты лопату забыл вставить.
Например, какой-нибудь Xvid - тоже формат сжатия с потерей данных, но никто не мешает мне выставить там соответствующий уровень качества и получить картинку, на 100% совпадающую с исходной.
Так что именно в JPEG картинки действительно не могут быть без потерь...Ты уж определись, что ли. Xvid даёт качество жопега лишь в ключевых кадрах/блоках, в промежуточных же кадрах оно только хуже. Если ты соглашаешься, что жопег не может быть без потерь, то ты противоречишь своим ста процентам из первой цитаты.
Это необязательно значит, что в фотиках будут некачественные фотки - это может означать и то, что в фотиках будут получаться слишком тяжёлые фотки (потому что места там как раз завались).Картинка напрямую из фотика всегда хуже, чем из raw-конвертера (жопег, tiff или ещё что-то - разницы нет). Потому что вычислительные мощности фотиков, ограниченные энергопотреблением и необходимостью быстрой (в течение секунды или меньше) обработки, несравнимы с мощностями полноценных компов, и это ограничивает применение в фотиках сложных алгоритмов интерполяции.
Что касается соотношения качество/объём при сжатии интерполированной из raw картинки в жопег, то в фотиках оно также наверняка ниже, чем у компов. Это означает либо более низкое качество при равном объёме, либо больший объём при равном качестве, разницы тут никакой. Впрочем, картинки, сжимаемые жопегом, на фотоаппаратах и у raw-конвертеров разные, так что сравнить напрямую не получится, да и разница, скорее всего, была бы невелика.
пенартур, плз, если хочешь посраться - писдуй отсюда, заводи свой тред.
Если мне не изменяет память, то -resize 1280x960 сделает то что ты хочешь.
если хочешь посраться - писдуй отсюда, заводи свой тред.Надо же - сам развёл срач и сам же просишь его не разводить
Это означает либо более низкое качество при равном объёме, либо больший объём при равном качестве, разницы тут никакойЕсли бы в jpeg можно было класть фотки без потерь качества - это означало бы бОльший объём при 100% качестве, вот и всё.
Оставить комментарий
sergeikozyr
Во-первых, довольно большой размер: 1600x1200. Во вторых такой jpeg весит от мегабайта до 2.6 (у меня скриншот такого размера в png весит меньше). Как можно уменьшить объём этой бандуры используя imagemagick?