Bash i skrypt do masowej edycji zdj

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
szlejk
Beginner
Posty: 100
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Bash i skrypt do masowej edycji zdjęć

Post autor: szlejk »

Witam
Znalazłem w necie skrypt do masowej edycji zdjęć i chciałem go przerobić do swoich potrzeb. Problem polega na tym że nie wiem jakie powinny być prawidłowe instrukcje do drugiej części skryptu

Kod: Zaznacz cały

#!/bin/bashfind . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;
rename 's/JPG.jpg$/jpg/' *.JPG.jpg
#rm *jpg
for i in *jpg
do


mogrify -normalize -geometry 800  *jpg \


convert $i \( +clone -blur 0x3 +level 20%,100% \) \
          \( +clone -gamma 0 -shave 10x10 \
             -bordercolor white -border 10x10 \) \
          -composite \
          \( +clone -gamma 0 -shave 10x10 \
             -bordercolor white -border 1x1 \
             -bordercolor black -border 9x9 \) \
          -compose screen -composite $i
done
# position, Center, SouthEast, SothWest, NorthEast, NorthWest
pos="SouthEast"
files=`ls *jpg`
mkdir Gotowe


for i in $files
do
  echo "Gotowy"$i
 composite -gravity $pos logo.png $i Gotowe/ $i
done
Proszę o sprawdzenie i wskazówki.
Pozdrawiam i dziękuje
Mirek
Awatar użytkownika
kodama
Junior Member
Posty: 633
Rejestracja: 23 maja 2010, 22:30
Lokalizacja: Poznań

Post autor: kodama »

Tylko jeszcze jest pytanie jaki konkretnie efekt chcesz osiągnąć? Co ten skrypt ma robić? Jakie efekty, przekształcenia?
klavierkrk
Beginner
Posty: 257
Rejestracja: 14 maja 2013, 17:18

Post autor: klavierkrk »

Kod: Zaznacz cały

#!/bin/bashfind . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;

1 linijka zła... ;) bashfind - nie ma czegoś takiego.
Powinno być raczej:

Kod: Zaznacz cały

#!/bin/bash
find . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;
natomiast ...

Kod: Zaznacz cały

convert
... jest komendą z imagemagick, który ma świetną dokumentację i rzeczywiście przyda się w tym wypadku do przegrywania zdjęć.
http://www.imagemagick.org/script/convert.php
Awatar użytkownika
szlejk
Beginner
Posty: 100
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Post autor: szlejk »

Witam i dziękuje za zainteresowanie się tematem.

Kod: Zaznacz cały

[color=#3E3E3E]#!/bin/bashfind . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;[/color]
przy wklejaniu linijki się połaczyły :p gapa ze mnie. Na obecną chwilę skrypt działa proszę o sprawdzenie pod względem błędów :D

Skrypt ma za zadanie

  1. znaleźć wszystkie zdjęcia z rozszerzeniem .JPG i zmienić na .jpg
  2. zmienić rozmiar zdjęć na dogodny do publikacji w internecie
  3. dodać przezroczystą ramkę dookoła zdjęcia
  4. wstawić znak wodny i przenieść zdjęcia z do wskazanego folderu
  5. usuwa zdjęcia z rozszerzeniem .jpg (oryginały .JPG zostają nie naruszone)
[LEFT]
Zdjęcie przed edycją
DSCF9216 (1).jpg
I po edycji
DSCF9216 (1).jpg
skrypt:

Kod: Zaznacz cały

#!/bin/bash
find . -name "*.JPG" -exec convert {} -format jpg {}.jpg \;
rename 's/JPG.jpg$/jpg/' *.JPG.jpg
for i in *jpg
do
mogrify -normalize -geometry 800  *jpg \


convert $i \( +clone -blur 0x3 +level 20%,100% \) \
          \( +clone -gamma 0 -shave 10x10 \
             -bordercolor white -border 10x10 \) \
          -composite \
          \( +clone -gamma 0 -shave 10x10 \
             -bordercolor white -border 1x1 \
             -bordercolor black -border 9x9 \) \
          -compose screen -composite $i
done
# position, Center, SouthEast, SothWest, NorthEast, NorthWest
pos="SouthEast"
files=`ls *jpg`
mkdir Gotowe


for i in $files
do
  echo "Pliki gotowe w folderze Gotowe :"$i
 composite -gravity $pos logo.png $i Gotowe/$i


done
rm *jpg

Pozdrawiam
Mirek[/LEFT]
Załączniki
DSCF9216.jpg
ODPOWIEDZ