1

Вот появилась задача, нужно 2.5гб картинок сжать до 120х120 тока даже не знаю софт который в линуксе это делает ac
посоветуйте что то, было бы идеально что бы массово все жахнуло по размеру а то боюсь постареть если редактировать по 1 фотке.

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

2

Смотрите ImageMagick, точнее man convert.

Был, был и весь вышел...

3

Первое, что «нагуглилось» — http://bacher09.org/2011/05/convert_imagemagick_p1/

Был, был и весь вышел...

4

спс будем разбираться.

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"
Rassol2 пишет:

Вот появилась задача, нужно 2.5гб картинок сжать до 120х120 тока даже не знаю софт который в линуксе это делает ac
посоветуйте что то, было бы идеально что бы массово все жахнуло по размеру а то боюсь постареть если редактировать по 1 фотке.

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

Какие картинки какого размера и разрешения, какого типа компрессии или без неё во что Вы хотите сжать?

Изменение веса картинки - это одно (измеряется в байтах), изменение размера (измеряется в пикселях) - другое, изменение разрешения (что-то на что-то, например на дюйм) вовсе третье. Вопрос в том виде, в котором Вы его задали, просто не имеет смысла.

6 (09.10.2012 01:24:29 отредактировано Vitri)

karl_muenhgausen пишет:

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

Вероятно, ТС подразумевал, что картинок много.

«Я устал, я ухожу.»
Vitri пишет:
karl_muenhgausen пишет:

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

Вероятно, ТС подразумевал, что картинок много.

С такой же вероятностью можно предполагать, что они имеют разный размер, разрешение и оптимизацию (компрессию) либо индексированную палитру, если она есть. Как-то, пока не получилось получить от ТС эту информацию...

Тем более, почти уверен, что к Линуксу как таковому, и его ПО это всё не имеет и малейшего отношения, а носит характер кроссплатформенной проблемы каких-то конкретных форматов изображений.

8

А у меня есть скриптик, который изменяет разрешение картинок, задействуя многопроцессорность ab
Естественно через convert это делается.

Vascom пишет:

А у меня есть скриптик, который изменяет разрешение картинок, задействуя многопроцессорность ab
Естественно через convert это делается.

Разрешение или размер? Каких именно картинок? GIF, JPG, PNG?

10

Разрешение меняет. В данном случае JPG, но лишь потому, что у меня там ещё RAW могли лежать, а так convert'у всё равно какой формат.
Конечно же скрипт надо переделать под конкретные нужды.

#!/bin/bash

#This script resize big images for my Android device

INPUT_FORMAT=JPG

if [ -z "$1" -o -z "$2" ]
then
    echo "repn: Format isn't correct!"
    echo "repn: Use conv_andr path_to_photos/ format number_of_threads"
    echo "where format - 480x320 or scaled"
    echo "Converted images will stored in path_to_photos/converted"
    echo "If number_of_threads not entered then using all system processors"
    exit
fi

if [ ! -e $1converted ]
then
    mkdir $1converted
fi

if [[ -z "$3" || $3 == 0 ]]
then
    THREADS=`cat /proc/cpuinfo | grep -c processor`
else
    THREADS=$3
fi
echo "Using $THREADS processors"

echo "convert -resize $2 "$1\$@" "$1converted/\$@"" > /tmp/conv_andr_tmp
ls -1 $1 | grep -i $INPUT_FORMAT | xargs -L1 -P$THREADS bash /tmp/conv_andr_tmp
rm -f /tmp/conv_andr_tmp

11 (09.10.2012 13:53:03 отредактировано karl_muenhgausen)

Vascom пишет:

Разрешение меняет. В данном случае JPG, но лишь потому, что у меня там ещё RAW могли лежать, а так convert'у всё равно какой формат.

Меняет не разрешение (точек на площадь при печати) и не вес (файл в байтах), этого convert не умеет, а размер (количество точек).

Что же именно нужно ТС (очевидно вес) пока осталось непонятным.

12

karl_muenhgausen пишет:
Vascom пишет:

Разрешение меняет. В данном случае JPG, но лишь потому, что у меня там ещё RAW могли лежать, а так convert'у всё равно какой формат.

Меняет не разрешение и не вес (этого convert не умеет), а размер.

Согласен, размер.

Хотя и вес convert должен уметь менять, например через увеличение сжатия JPEG или через изменение формата.

13 (09.10.2012 14:07:15 отредактировано karl_muenhgausen)

Vascom пишет:

Хотя и вес convert должен уметь менять, например через увеличение сжатия JPEG или через изменение формата.

А также дорисовывать фон при удалении фигуры?  bj

Менять вес - задача исключительно ручная. Никакая программулина не знает, что именно нужно изменить и как. Даже в пределах jpeg есть масса разных типов преобразований. А уж про gif или png и говорить нечего. Реально можно сделать только одно: один тип компрессии, один вид преобразования. Например jpeg бикубический. А вот уж править индексированную палитру, скажем, в gif - увольте.

Так что, Вы заблуждаетесь.

Вообще convert, как и imagemagick в целом, довольно тупая и опасная штука. Лучше каждую картинку открыть в чём-то вменяемом, скажем, GIMP и руками преобразовать так, как нужно. Или же писать большой и нудный скрипт, если точно знаешь как и во что.

14 (09.10.2012 23:54:20 отредактировано Rassol2)

Вы сказали общий вес файлов и сказали размер в пикселях каждой картинки. Скажите скорее, какое отношение одно имеет к другому?
Какие картинки какого размера и разрешения, какого типа компрессии или без неё во что Вы хотите сжать?
Изменение веса картинки - это одно (измеряется в байтах), изменение размера (измеряется в пикселях) - другое, изменение разрешения (что-то на что-то, например на дюйм) вовсе третье. Вопрос в том виде, в котором Вы его задали, просто не имеет смысла.

если я скажу что их сто и 1500 х 1500 или скажу что их 50 и размер 1200х1200 способы будут разные ?

Тем более, почти уверен, что к Линуксу как таковому, и его ПО это всё не имеет и малейшего отношения, а носит характер кроссплатформенной проблемы каких-то конкретных форматов изображений.

имеет так как я не собираюсь ставить другую ОС для решение этой проблемы посему ищу решение именно в линуксе.

Что же именно нужно ТС (очевидно вес) пока осталось непонятным.

сжать до 120х120

я не думаю что вы подразумевали под моими словами сжатие до 120мегабайт на 120мегабайт  ag  ведь глупо )))

Лучше каждую картинку открыть в чём-то вменяемом, скажем, GIMP и руками преобразовать так, как нужно

У меня их 2.5 гб
по штукам 7772
посему и задал вопрос, решение для

было бы идеально что бы массово все жахнуло по размеру

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

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

15

сейчас буду работать с

convert -resize 120x120 Image.jpg mini_image.jpg

Тока вот название не нужно менять посему читаю ман. Как его окуратненько завернуть что бы все фото изменило размер и новые картинки поместить в одельную директорию.

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

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

16

Rassol2 пишет:

Тока вот название не нужно менять посему читаю ман. Как его окуратненько завернуть что бы все фото изменило размер и новые картинки поместить в одельную директорию.

это средствами баша решается... ну или find'ом
find . -type f -maxdepth 1 -exec convert -resize 120x120 '{}' /path/to/dir/with/mini/images/'{}' ';'
как-то так...

Rassol2 пишет:

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

можно curl'ом при желании, но там читать ещё больше...

95% процентов проблем находятся между клавиатурой и стулом.

17

Rassol2 пишет:

Тока вот название не нужно менять посему читаю ман. Как его окуратненько завернуть что бы все фото изменило размер и новые картинки поместить в одельную директорию.

Я же уже показал скрипт, который это делает. Его лишь чуть-чуть надо изменить под себя.

18

ага тока я несильно шарю как его менять ac
так сказать много букв

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

19

у меня получилось что то вот такое

find ./ -maxdepth 1 -type f -exec convert -resize 120x120 '{}' /home/rassol2/1/ {} \;

тока процесс повис уже 30 минут выжирает дето 70% процессора и не известно что делает ))) наверное стоило сперва тесты провести с меньшим количеством )))

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

20

find ./ -maxdepth 1 -type f -exec convert -resize 120x120 '{}' /home/rassol2/1/Пробела быть не должно{} \;

Был, был и весь вышел...

21

как раз должен, без него писало не известный аргумент -exec

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

22

А если без пробела, но весь путь в двойные кавычки "/home/rassol2/1/{}"?
...или одинарные.

Был, был и весь вышел...

23

А у вас в целевом каталоге исключительно графические файлы?

Был, был и весь вышел...

24

да только фотки

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"