background image

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

background image

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