Я@R

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Я@R » Претечи » Делим изображение на части


Делим изображение на части

Сообщений 1 страница 5 из 5

1

Случайно или нет я увидел в инете фотографию Солнца сделанную с применением разных фильтров. Астрономы НАСА сняли Солнце используя разные параметрические фильтры и в результаты сложили на одно большое изображение.
http://svs.gsfc.nasa.gov/vis/a010000/a011000/a011071/4k_Grid_Sun_FINAL_web.jpg
Фотографии в других размерностях - 4096х4096 - 2048х2048
Красиво да!.

2

Первое что мне пришло в мою шальную голову это сделать кисточки для GIMP из кусочков ну или на худой конец текстуры! Они такие фантастические. Вот тут вспомнился и наш GIMP и его инструмент - "гильотина", но размер исходного изображения не позволял реально разрезать эту картинку ибо время требовалось не мерено, а так же и ресурсов . И вот здесь как раз пришел на помощь ImageMagick и прямая команда из терминала с определенным ключом. Конечно чтобы получить наибольшее разрешение в кусочков была скачена на диск фотка размером 4096х4096 и ее мы записали на диск под именем sun.jpg, а дальше в терминале ввели такую команду

Код:
convert sun.jpg -crop 683x512  \
          +repage  +adjoin  sun_%02d.png

и получили 48 кусочков размером 683х512px всего за секунд 5 не более, а может и меньше. Фактически мы выполнили типичное действие с фотографией которое зачастую занимает минуты долгих преобразований в визуальных редакторов типа фотошоп.

3

Давайте теперь рассмотри по порядку каждый аргумент нашего действа. В данном случае мы воспользовались командой пакета convert c аргументами. Основной аргумент это конечно ссылка на наше исходное изображение в виде имени файла, и также шаблон имени для выводных файлов, которых будет ровно 48 штук, ибо столько делений на самой фотке, которые будем делить, итак считаем

Код:
4096 / 6 = 683 - по ширине
4096 / 8 = 512 - по высоте

этот параметр входит как аргумент к ключу этот параметр входит как аргумент к ключу -crop 683x512, а чтобы все полченые кусочки имели нулевые координаты в верхнем левом углу встпвляем аргумент +repage. И наконец мы указываем команде, что все полученные кусочки должны располагаться в отдельных файлах, в соответствии с нашим заданным шаблоном, мы вставляем аргумент +adjoin.
Чтобы закончить - мы определяем будущий шаблон выдачи как sun_%02d.png. Этот вид формата используется в языке Си и в других языках и сообщает команде, что нужно сформировать имена для каждого файла в виде двух цифр с ведущим нулем, которые будут отличаться друг от друга ровно на 1 и начинаться с 0.

4

Вот и все - получившийся результат перед вами!,
http://s3.uploads.ru/t/vtfVQ.png

5

Да бы не затемнять заметку излишними ссылками, последнюю картинку стилизовали под одно изображение. Чтоб все же увидеть каждое полученное изображение или скачать, можно пройти по ссылке
https://forumstatic.ru/files/0019/ba/df/80247.png


Вы здесь » Я@R » Претечи » Делим изображение на части