rjan  Dołączył: 18 Mar 2008
Batch processing skanów w GIMPie
Po przyspieszonym kursie GIMPowego python-fu udało mi się stworzyć skrypt wspomagający proces obróbki skanów czarnobiałych negatywów. Wymaga jeszcze dopracowania i rozbudowy, ale zgodnie z open source'owym założeniem "release early, release often" chciałbym podzielić się nim już teraz.

Skrypt można sciągnąć z tego miejsca: http://rjan.info/ppl/batch_bwscan_proc.py
Instalacja polega na przegraniu go do katalogu plug-ins, przykładowo, dla GIMPa 2.4 w Ubuntu wrzucamy skrypt do katalogu ~/.gimp-2.4/plug-ins

Następnie ustawiamy skrypt jako wykonywalny:

chmod +x ~/.gimp-2.4/plug-ins/batch_bwscan_proc.py

Instalacja zakończona.

Teraz uruchamiamy GIMPa. W menu Xtns pojawi się podmenu Batch, z którego wybieramy odpowiednią pozycję:



Skrypt można też uruchamiać skrótem klawiszowym: po uruchomieniu GIMPa naciskamy lewy ALT+X, potem (po puszczeniu ALT+X) A, a następnie N.

Uruchomi się okno dialogowe jak niżej:



Opcje, kolejno od góry, oznaczają:

- katalog źródłowy, w którym znajdują się skany
- katalog docelowy, do którego trafią przetworzone zdjęcia
- prefiks, jaki będzie dodawany do nazw plików wynikowych
- format wyjściowy pliku
- jakość kompresji dla JPEG (brane pod uwagę tylko przy tym typie pliku wyjściowego)
- wskazanie, czy ma być wykonywane odwracanie kolorów za pomocą krzywej
- plik z definicją krzywej do odwracania (jeśli nie wskażemy pliku odwracanie wykonane zostanie liniowo)
- wskazanie, czy pliki mają być konwertowane do trybu szarości (jeśli jeszcze nie są)
- wskazanie, czy po odwracaniu należy uruchomić automatyczne poziomowanie (auto levels)
- pożądana długość dłuższego boku, jeśli zdjęcie ma być skalowane; ustawienie 0 (zero) powoduje wyłączenie skalowania
- wskazanie, czy zdjęcia po przetworzeniu mają być otwarte w GIMPie (może wymagać sporo pamięci gdy przetwarzamy wiele skanów).

Auto levele i otwarcie po obróbce ma taki sens, że możemy od razu podejrzeć wyniki przetwarzania i ew. je zmodyfikować (undo auto-levels i dalej co nam się podoba). Po modyfikacji wystarczy kliknąć Save i już po sprawie.

Zapraszam do testowania skryptu i zgłaszania uwag i pomysłów.

Pozdrawiam
 

mygosia  Dołączyła: 19 Kwi 2006
Oki!
Już mam :-)

Zrobiłam wszystko jak napisane. Tylko jedno pytanie [lajkonickie pewnie ;-) ]:
Cytat
Następnie ustawiamy skrypt jako wykonywalny:
chmod +x ~/.gimp-2.4/plug-ins/batch_bwscan_proc.py

Czy to jest "na zawsze" zapamiętane? Czy trzeba to odnawiać za każdym razem? A może przy zmianie gimpa?

No i jest kłopot...
Najpier sobie dałam, zeby mi tylko przeobił do odcieni szrości i zapamiętał - bez otwierania, bez inwersji... I jak próbowałam otworzyć, to error wyskoczył.

O taki dokładnie:
Cytat
Nie można wczytać obrazu xxx.jpg

Błąd przy interpretacji pliku z obrazem JPEG (Not a JPEG file: starts with 0x49 0x49)


A jak kazałam odwrócić i dałam skala szarości, to gimp otworzył i potem ubunciak i inne programy graficzne widziały już wszystko.
Ale z kolei jak chciałam dać nastepne zadanie, nowe, to już opcja była nieaktywna [szare literki].
 

rjan  Dołączył: 18 Mar 2008
mygosia napisał/a:
Cytat:
Następnie ustawiamy skrypt jako wykonywalny:
chmod +x ~/.gimp-2.4/plug-ins/batch_bwscan_proc.py

Czy to jest "na zawsze" zapamiętane? Czy trzeba to odnawiać za każdym razem? A może przy zmianie gimpa?

Robimy raz, zostaje "na zawsze".

mygosia napisał/a:
No i jest kłopot...

ech... Co za falstart :oops:

mygosia napisał/a:
Cytat:
Nie można wczytać obrazu xxx.jpg

To ze względu na zabezpieczenie cenzorskie - skrypt nie przetwarza nieprzyzwoitych obrazków ;-)


Tak serio, wszystkie obrazki zapisywane są jako TIFF ale z nazwą oryginalną, czyli w Twoim przypadku z .jpg na końcu, co ogłupiło inne programy. Poprawiłem ten błąd.

Dodałem także możliwość selektywnego włączania inwersji - w pierwszej wersji było to obligatoryjne.

Nowa wersja dostępna jest pod tym samym linkiem.

mygosia napisał/a:
Ale z kolei jak chciałam dać nastepne zadanie, nowe, to już opcja była nieaktywna [szare literki].

Tego jeszcze nie rozpracowałem. Jeśli uruchamiasz skrypt bez podglądu wyników jest ok. Jeśli z podglądem, i pozamykasz wszystkie okienka, to wtedy pozycja w menu jest nieaktywna. Wystarczy otworzyć jakikolwiek obrazek i znowu jest aktywna... :shock:
 

mygosia  Dołączyła: 19 Kwi 2006
rjan napisał/a:
ech... Co za falstart

Ech... No co Ty!
Jak na razie to kawał wysmienitej roboty - nawet nie wiedziałam, że są tutaj takie zdolniachy :-D

rjan napisał/a:
Nowa wersja dostępna jest pod tym samym linkiem.

Ok. Będę próbować.

[ Dodano: 2008-09-18, 22:41 ]
Oki...
Jest lepiej :-D

Ale... ;-)

Daję katalog gdzie jest 5 zdjęć. I najpierw dawałam, żeby odwrócił i skalę szarości zrobił, ale potem już tylko 1 rzecz i ciągle to samo:
- leci pasek Otwieranie - raczej wolno
- potem leci pasek Zapisywanie - raczej szybko
0 i po pierwszym zjęciu wyskakuje error:
Cytat
Wystąpił błąd w czasie uruchuamiania: python_fu_batch_bwscan_proc
RuntimeError: execution error

Traceback (most recent call last):
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 662, in response
dialog.res = run_script(params)
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 347, in run_script
return apply(function, params)
File "/home/mygosia/.gimp-2.4/plug-ins/batch_bwscan_proc.py", line 54, in python_fu_batch_bwscan_proc
img = pdb.gimp_file_load(fname, fname)
RuntimeError: execution error



[ Dodano: 2008-09-18, 22:42 ]
Aha!
Ciekawe jest to, że to pierwsze zdjęcie się odwraca, robi się szarość, zapisuje się jako tiff - można go otwierać.
Ale dalej error. Trzeba dać anuluj.
 

rjan  Dołączył: 18 Mar 2008
mygosia napisał/a:
Jak na razie to kawał wysmienitej roboty - nawet nie wiedziałam, że są tutaj takie zdolniachy :-D

Bez przesady. Z zawodu jestem programistą, a ponieważ właśnie przebywam na chorobowym, znalazłem trochę czasu na zabawę z GIMPowymi skryptami. Not a big deal, jak mówią Chińczycy ;-)

mygosia napisał/a:
Jest lepiej :-D

Ale... ;-)

No tak... Czy GIMP nic więcej nie wypisał? Choćby jedno dodatkowe zdanie nad lub pod? Wygląda na to, że ma problem z otwarciem pliku. Włączałaś otwieranie pliku po przetwarzaniu? Nie brakuje Ci pamięci? Wolno się otwiera, więc może to coś dużego? Możesz przesłać mi nazwy plików wraz z pełną ścieżką do katalogu, w którym się znajdują? Co się dzieje, gdy wyrzucisz z katalogu to drugie zdjęcie, które powoduje błąd?

"100 pytań do..." ;-)

edit...

Sam przed chwilą znalazłem przyczynę, jak przepuściłem przez maszynkę właśnie zeskanowaną kliszę. W katalogu źródłowym, poza plikami, musiał być też jakiś katalog. A ja osioł nie sprawdzałem, czy to coś aby na pewno jest plikiem...

Pod starym linkiem siedzi teraz kolejna, poprawiona wersja.

Dobranoc :-)

 

Jarek Dabrowski  Dołączył: 20 Kwi 2006
rjan, daj Fafniakowi do potestowania.
 

mygosia  Dołączyła: 19 Kwi 2006
rjan napisał/a:
No tak... Czy GIMP nic więcej nie wypisał?

Wszyściutko z okienka przepisałam... :-)

rjan napisał/a:
Włączałaś otwieranie pliku po przetwarzaniu?

Aaaa... od nowa? Tzn klikając nań z katalogu? Juz sprawdzę...

Oki - nie otwiera się bezpośtenio. A jak już zachowa go jako tiff, to mogę go otworzyć w dowolnym progrramie - gimpie też...

rjan napisał/a:
Nie brakuje Ci pamięci? Wolno się otwiera, więc może to coś dużego?

Eee - nie wolno... Jak leci pasek otwieranie - to jakies 2 sek, a jak zapisywanie - to niecała sekundę [na oko ;-) ] - a potem error..
rjan napisał/a:
Możesz przesłać mi nazwy plików wraz z pełną ścieżką do katalogu, w którym się znajdują?

/home/mygosia/Obrazy/Skany/PROBY/do inwersji/bw_019_09.jpg [i potem mniej lub bardziej po kolei czyli 020, 025 itp]
a po konwersji jest:
out_bw_019_09.tiff - katalog ten sam, bądź 1 poziom wyżej...

rjan napisał/a:
Co się dzieje, gdy wyrzucisz z katalogu to drugie zdjęcie, które powoduje błąd?
\
Wygląda na to, że błąd powstaje w momencie próby otwrcia następnego... Bo jak zostawis ię 2 dowolne pliki, to jest ciągle tak samo.

rjan napisał/a:
W katalogu źródłowym, poza plikami, musiał być też jakiś katalog. A ja osioł nie sprawdzałem, czy to coś aby na pewno jest plikiem...

W sumie nie było.... Ale był plik ini z Picasy... może on bruździł?

Oki - wypróujemy nowe :-D

[ Dodano: 2008-09-19, 11:30 ]
Tak jest!!!
Bo w tym nowym znów był error, ale jak skasowałam picasa.ini, to poszło wszystko :-)

WOW!
 

alkos  Dołączył: 18 Kwi 2006
łoł, panie! jutro sprobuje - w koncu moglbym sie przeniesc na linucha... ;-)
 

dzerry  Dołączył: 01 Maj 2006
alkos napisał/a:
w koncu moglbym sie przeniesc na linucha...
a 16 bit?
 

alkos  Dołączył: 18 Kwi 2006
Cytat
a 16 bit?


poczekam :-)


jest gorsza rzecz: totalnie odczapny dodge/burn w gimpie... wlasnie probowalem - tragedia...
 

callistratis  Dołączył: 31 Sie 2007
alkos napisał/a:
jest gorsza rzecz: totalnie odczapny dodge/burn w gimpie... wlasnie probowalem - tragedia...


a malowanie szarosciami i warstwa overlay? dawno nie wlaczalem gimpa...
 

alkos  Dołączył: 18 Kwi 2006
Cytat
a malowanie szarosciami i warstwa overlay? dawno nie wlaczalem gimpa...


A co z wielkoscia pedzla? Bo na dodge/burn jest limit jakichs marnych 150px...
 

callistratis  Dołączył: 31 Sie 2007
alkos napisał/a:
A co z wielkoscia pedzla? Bo na dodge/burn jest limit jakichs marnych 150px...


a trzeba sobe zrobic nowy pedzel, limit 1000px. tak samo dodge/burn.
 

PiotrR  Dołączył: 03 Maj 2006
rjan napisał/a:
Skrypt można sciągnąć z tego miejsca: http://rjan.info/ppl/batch_bwscan_proc.py
Instalacja polega na przegraniu go do katalogu plug-ins, przykładowo, dla GIMPa 2.4 w Ubuntu wrzucamy skrypt do katalogu ~/.gimp-2.4/plug-ins

A będzie wersja pod windę? :mrgreen:
 

alkos  Dołączył: 18 Kwi 2006
ok, zaraz sprobuje...

[ Dodano: 2008-09-19, 13:17 ]
sprobowalem. tragedia. powyzej 100px wolne jak jasna cholera... nie da sie pracowac.
 

rjan  Dołączył: 18 Mar 2008
PiotrR napisał/a:
A będzie wersja pod windę? :mrgreen:

Pod windą też powinno działać. Trzeba jedynie zainstalować Pythona, np. stąd

alkos napisał/a:
sprobowalem. tragedia. powyzej 100px wolne jak jasna cholera... nie da sie pracowac.

Trzeba poczekać na 2.6 - będzie oparte na GEGLu, który ponoć będzie duuuużo szybszy. Miejmy przynajmniej taką nadzieję...


Mygosia, dzięki za dogłębne testy :-) Kolejna wersja zawiera kolejne poprawki, dzięki którym omawiane problemy powinny zniknąć.

Właśnie. Wrzuciłem nową wersję, ale nie mogę już modyfikować pierwszego postu, bo minęło 1440 minut od jego napisania... Czy można coś z tym zrobić?

Informacje na temat nowej wersji (link do ściągnięcia w pierwszym poście).



1. Skrypt można uruchamiać skrótem klawiszowym: po uruchomieniu GIMPa naciskamy lewy ALT+X, potem (po puszczeniu ALT+X) A, a następnie N.
2. Dodałem możliwość wyboru formatu zapisu plików: TIFF, PNG, JPEG. Dla JPEGa można podawać pożądaną jakość kompresji (0-100).
3. Wprowadziłem możliwość skalowania obrazu wyjściowego poprzez podanie długości dłuższego boku. Wprowadzenie wartości 0 (domyślnie) powoduje wyłączenie skalowania.
4. Można podawać własny prefiks dodawany do nazwy obrazków wyjściowych.

Myślę, że ta wersja jest już ostatnią rozwojową. Zostało tylko wyłapać pozostałe błędy. No chyba, że macie jakieś pomysły na usprawnienia :-)

Pozdrawiam
 

mygosia  Dołączyła: 19 Kwi 2006
Moi drodzy!
Kolejna wersja skryptu działa rewelacyjne - polecam z całego serca!
Zrobiłam sobie mały teścik - poniżej efekty:

Najpierw poskanowałam jako slajd i na forum pokazuję tylko 1 zdjęcie - w albumach są 4 różne] i:

1. Tutaj tylko proste odwrócenie i konwersja do skali szarości:
http://picasaweb.google.c...ey=RoMZRwRlRw0#



2. jak wyżej [invert, greyscale] + dodatkowo autolevels:
http://picasaweb.google.c...ey=QXl6P_7RM2Q#



3. invert za pomocą krzywej [wg Alkosa] - i skala szarości:
http://picasaweb.google.c...ey=jn8aggj4GjY#



4. Jak 3 + autolevels:

http://picasaweb.google.c...ey=9lpCKDJSTPA#



5. Tutaj prosto ze skanera - skanowane jako cz-b
http://picasaweb.google.c...ey=bSe4Bh1xlfM#



6. Ciekawostka
Wzięłam po 2 zdjęcia z każdego powyższego katalogu i w picasa potraktowałam je przyciskiem "szczęśliwy traf"... Zdjęcia sa odpowiednio podpisane.
http://picasaweb.google.c...ey=JUe-EYSSiYo#

Proszę o wasze zdanie :-)
 

mygosia  Dołączyła: 19 Kwi 2006
Chciałam dodać, że w nowym gimpie pod linuksa [2.6.1] wtyczka nadal działa wysmienicie :-D

Jedyne co, to teraz znajduje sie w menu "Filtry" i potem "Batch", a nie:

rjan napisał/a:
W menu Xtns
 

rjan  Dołączył: 18 Mar 2008
Cieszę się bardzo :-) Nieco mylące jest nowe położenie, ale co tam - ważne, że działa :-)
 

mygosia  Dołączyła: 19 Kwi 2006
Nie byłabym sobą, gdybym nie spróbowała obrobic skryptem skanów ze slajdu :-D
Na początek chciałam tylko zmniejszyć obrazki, bo programik robi to świetnie, ale moja wrodzona ciekawość spowodowała, ze włączyłam też "Autolevels"/

Efekty:

[jest to slajd przeterminowany, Sensia 200, naświetlany dość nieszczęśliwie zwykle]

Tutaj prosto z VueScana, tylko pomniejszone:



Musiałam się nieźle nagimnastykować, aby pozbyc sie tego cholernego, zielonkawego zafarbu:





A tutaj autolevels:

kolorki nieco pojechane, ale mi się osobiście baaardzo podobają


Uff:




Pięknie, nie?
Niekiedy kontrast wychodzi za duży. Zwykle efekty są super!

Wyświetl posty z ostatnich:
Skocz do:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach