Linuxfresh
aktualności
oprogramowanie
50
kwiecień 2006
51
www.lpmagazine.org
FRESH
News
GREYCstoration
– narzędzie do naprawiania
obrazków
W
szyscy korzystający z apa-
ratów cyfrowych lub ze ska-
nerów stają przed koniecz-
nością dokonania popra-
wek w uzyskanym obrazie. Ze zdjęć cyfro-
wych zazwyczaj trzeba usunąć szum, różne
skazy lub dokonać dokładniejszego retuszu.
Zależnie od wykorzystanego formatu kom-
presji, trzeba też liczyć się z pogorszeniem
jakości i nieraz z widocznymi blokami cha-
rakterystycznymi dla silnej stratnej kompre-
sji. Do radzenia sobie z takimi problemami
wykorzystywane są różne narzędzia, np. tak
zaawansowane, jak GIMP. Do zbioru pro-
gramów wykorzystywanych w takich sytu-
acjach warto dodać GREYCstoration.
Pod nazwą tą kryje się algorytm porząd-
kowania obrazu stworzony przez Davida
Tschumperlé z GREYC Lab w Caen, we Francji.
Algorytm ten wyszukuje lokalne zaburzenia
w intensywności pikseli i stara się je upo-
rządkować, równocześnie zachowując wła-
ściwości ogólnego obrazu, jak choćby ostre
krawędzie i narożniki. Podstawowym wy-
Jean-Pierre Féval
korzystaniem tego algorytmu jest usuwanie
szumu. Można go jednak z powodzeniem
użyć zarówno przy poprawianiu jakości po-
większonego obrazu, jak i przy usuwaniu
niektórych fragmentów obrazu i zastępowa-
niu ich tłem (inpainting).
Program korzystający ze wspomnianego
algorytmu można pobrać ze strony domo-
wej projektu. Nie trzeba go kompilować,
gdyż dostarczany jest plik wykonywalny.
Program wywoływany jest z linii pole-
ceń, lecz wynik jego działania można na bie-
żąco obserwować w okienku. Jak już wspo-
mniano wcześniej, może działać w trzech
trybach:
-restore
,
-inpaint
lub
-resize
.
Pierwszy z nich przeznaczony jest do usuwa-
nia szumu. Najprostsze polecenie ma postać:
./greycstoration_linux -restore
S
image.png
Spowoduje ono otwarcie pliku image.png
w okienku i rozpoczęcie przetwarzania. Po
jego zakończeniu klawiszem [Spacja] można
przełączać się pomiędzy obrazem oryginal-
nym i wynikowym. Jeśli konieczne okaże
się wykonanie jeszcze jednego przebie-
gu, można tego dokonać wciskając klawisz
[I]. Co ważne, w takim przypadku używa-
ne są ustawienia z poprzedniego przebie-
gu – nie można ich zmienić. Myszką można
wskazać pewien obszar rysunku (kliknię-
cie lewym przyciskiem myszki i przecią-
gnięcie do przeciwległego narożnika obsza-
ru) – zostanie on wyświetlony w powiększe-
niu zarówno w wersji oryginalnej, jak i prze-
tworzonej. Dzięki temu można przyjrzeć się
szczegółom i sprawdzić, czy przy przyjętych
parametrach uzyskano odpowiedni efekt.
Gdy efekt będzie zadowalający, można zapi-
sać go na dysku klawiszem [S]. Jeśli otwar-
te było okienko z powiększeniem, to rów-
nież ono zostanie zapisane w osobnym pli-
ku. Klawisz [Q] kończy działanie progra-
mu. Warto od razu zmienić nazwy zapisa-
nych plików BMP, gdyż przy następnym
uruchomieniu GREYCstoration może je nad-
pisać bez pytania. Nie należy się natomiast
martwić o pliki źródłowe – program nic
w nich nie zapisuje.
Wydając polecenie
./greycstoration_
linux -h -restore
można zapoznać się z do-
datkowymi parametrami i ich domyślnymi
wartościami. Warto z nimi poeksperymen-
tować, gdyż domyślne wartości nie dla każ-
dego obrazka sprawdzają się idealnie, a tym-
czasem właściwe dobranie parametrów do
konkretnego rysunku może zdziałać cuda.
Nieco inaczej wygląda wywołanie pro-
gramu w przypadku zmiany rozmiaru
rysunku. W wywołaniu programu należy
podać również opcję
-g
wraz z docelowym
rozmiarem, np. w ten sposób:
./greycstoration_linux -resize
S
image.png -g 1024x768
Poprawianie rysunku po zmianie rozmiaru
zajmuje nieco więcej czasu (domyślnie od
razu jest wykonywanych 20 przebiegów), więc
Rysunek 1.
Na stronie projektu można znaleźć wiele przykładów działania algorytmu
Linuxfresh
aktualności
oprogramowanie
50
kwiecień 2006
51
www.lpmagazine.org
FRESH
News
Fetchmail 6.3.2
Fetchmail to narzędzie służące
do pobierania poczty ze zdalnych
serwerów, szczególnie użyteczne
w przypadku połączeń modemowych.
Obsługuje praktycznie wszystkie
wykorzystywane w Internecie pro-
tokoły do pobierania zdalnej poczty.
Może nawet obsługiwać IPv6 i IPSEC.
W nowej wersji poprawiono błąd
CVE-2006-0321, pozwalający na prze-
prowadzenie ataku odmowy usługi.
Wprowadzono też kilka innych
poprawek.
http://freshmeat.net/projects/fetchmail/
Nmap Security Scanner 3.9999
Wkrótce pojawi się okrągła wersja 4.0
popularnego skanera bezpieczeństwa
Nmap. W ostatnich wersjach (głów-
nie w 3.99), poprzedzających to wyda-
nie, dodano nieco nowych funkcji.
Należy do nich nowy interaktywny
system, pozwalający w czasie dzia-
łania programu zmieniać takie usta-
wienia, jak np. liczba wyświetlanych
komunikatów. Wydajność można
zwiększyć dzięki nowej opcji
--max-
retries
. Baza danych służąca do
wykrywania wersji została uaktual-
niona i obecnie zawiera 3153 sygnatu-
ry dla 381 różnych protokołów usług.
Wprowadzono też wiele drobniej-
szych funkcji i poprawek.
http://freshmeat.net/projects/nmap/
CDNavigator 0.5
CDNavigator to interesująca aplika-
cja, pozwalająca na katalogowanie
plików z grafiką, muzyką i filmami,
przechowywanych na płytkach CD
i DVD. Wiele informacji o nich
jest automatycznie pobieranych
z plików, np. z plików graficznych
pobierane są dane EXIF, a z plików
MP3 zawartość znaczników ID3.
Oprócz tego, można też samodzielnie
wprowadzić wiele danych, jak choćby
ocenę danego pliku lub dodatkowe
notatki. Program posiada też możli-
wość pobrania nowych fotografii
z aparatu cyfrowego, posortowania
ich w albumy i przygotowania
do wypalenia na płycie CD.
http://freshmeat.net/projects/cdnavigator/
Arcus 0.3.1
Spędzając czas przy kompute-
rze można również powysilać szare
komórki przy rozwiązywaniu kla-
sycznej Kostki Rubika. Dzięki napi-
sanemu w Javie programowi Arcus
można nie tylko spróbować samo-
dzielnie ułożyć kostkę, ale również
przeanalizować, jak robi to kompu-
ter – po historii ruchów można poru-
szać się w obie strony. Ten program,
posiadający wygodny interfejs, potra-
fi również przechodzić od jednego
zadanego układu kostki do innego.
Oczywiście, udostępniono też
wygodny edytor układu kostki.
http://freshmeat.net/projects/arcus/
wymaga trochę cierpliwości. Uzyskany re-
zultat jest jednak zazwyczaj znacznie lepszy
niż w przypadku standardowych metod po-
większania rysunków – nie są widoczne
prostokąty charakterystyczne dla powięk-
szeń. Oczywiście, trzeba się liczyć z tym, że
niektóre potrzebne szczegóły mogą zostać
rozmyte, jak choćby końcówki włosów czy
wąsy na zdjęciach. Odpowiednio dobiera-
jąc parametry (widoczne po wydaniu pole-
cenia
./greycstoration_linux -h -resize
),
można znaleźć rozsądny kompromis.
Najciekawsza funkcja GREYCstoration to
-inpaint
. Dzięki niej można usunąć z rysun-
ku wybrany fragment tak, aby jak najmniej
zaburzyć wygląd całego obrazka. Przykła-
dowo, może się to przydać przy usuwaniu
skaz i zabrudzeń powstałych podczas ska-
nowania. Umieszczone na stronie domowej
programu przykłady pokazują wyraźnie, że
opcja ta świetnie sobie radzi również z więk-
szymi obiektami, jak choćby krata zasłania-
jąca część obrazu. W celu skorzystania z tej
funkcji należy, oprócz źródłowego obraz-
ka, przygotować czarno-białą maskę w oso-
bnym pliku. Na biało mają być zaznaczone
obszary przeznaczone do usunięcia. Maskę
można przygotować np. w programie GIMP.
Nazwa pliku z maską powinna być przeka-
zana w opcji
-m
:
./greycstoration_linux -inpaint
S
image.png -m mask.png
Ciekawe efekty można uzyskać zmieniając
tryb wypełnienia zamaskowanych obszarów.
Domyślnie obraz tam jest interpolowany, ale
można wypełnić go czernią, bielą, szumem,
a także pozostawić niezmieniony. Służy do
tego opcja
-init
. Przy usuwaniu obrazu naj-
lepiej sprawdza się wartość
4
, odpowiadają-
ca interpolacji. Ustawiając wartość
2
, odpo-
wiadającą szumowi, a także zmniejszając
liczbę iteracji (domyślnie 1000) można np.
stworzyć interesującą ramkę. Opis innych
opcji można poznać wydając polecenie
./greycstoration_linux -h -inpaint
.
Nie da się ukryć, że większość użytkow-
ników woli korzystać z graficznych interfej-
sów. Chociaż GREYCstoration jest progra-
mem działającym w trybie tekstowym, to
powstają wtyczki pozwalające na korzysta-
nie z niego w innych programach, np. GIMP,
Krita czy DigiKam. Wtyczki dla GIMP-a i Krity
na razie obsługują tylko funkcję
-restore
.
Znacznie lepiej rozwinięta jest wtyczka dla
DigiKam, która obsługuje wszystkie funk-
cje GREYCstoration. Korzystanie z wtyczek
ma dodatkową wielką zaletę – pozwala do-
kładnie wskazać obszar, który ma być objęty
działaniem filtru. Dzięki temu można usunąć
szum z wybranych obszarów, pozostawiając
nietknięte fragmenty obrazu zawierające is-
totne szczegóły.
Oczywiście, nie należy spodziewać się,
że jeden program poprawi rysunek w takim
stopniu, że nie trzeba będzie z nim już nic
robić. Zazwyczaj będzie konieczne pewne
wyostrzenie obrazu, jak również ręczne do-
pracowanie szczegółów.
http://www.greyc.ensicaen.fr/~dtschump/
greycstoration/index.html
Rysunek 2.
Korzystając z wtyczki dla GIMP-a można od razu obserwować rezultat zmiany
parametrów