2012-04-20 26 views
7

Często skanuję odręczne dokumenty, aby wysłać je do współpracowników i muszę dokonać korekty pliku cyfrowego po jego zeskanowaniu. (Na przykład, zmienić błędy zrobiłem na oryginalnym dokumencie do białego.)Czy istnieje sposób utworzenia skryptu, który automatycznie koryguje zeskanowane dokumenty?

myślę o jakiś skrypt, który może wykonać następujące czynności:

Weź kolorowy obraz skanu (powiedzmy TIFF) jako wejście, i rób proste poprawki automatycznie na podstawie kolorowych poprawek na obrazie.

Weźmy na przykład najprostszy przypadek: piszę tylko czarno na białym. Jest obszar, w którym popełniłem błędy, więc narysowałem czerwony okrąg zamknięty (z piórem na faktycznym arkuszu papieru) wokół tego obszaru. Następnie skanuję obraz (lub zwykle wiele z nich). Teraz chciałbym, aby skrypt usunął każdy z tych obszarów we wszystkich obrazach, więc moje błędy znikną w wynikowym obrazie.

Wszelkie pomysły na realizację tego w środowisku Linux, np. z Image Magick?


Wygląda Gimp ze skryptu-fu mogłoby być droga powinna być wystarczająco silny. Czy ktoś może mi wskazać, wskazując, że powyższy przykład będzie wyglądał jak w script-fu?

+0

Również dla mnie przydatne: które oprogramowanie do wyświetlania pikseli w Linuksie jest wysoce skryptowalne i obsługuje złożone operacje takie jak maski z doboru kolorów itp. – highsciguy

+1

Skoro już ręcznie zaznaczasz, co chcesz zmienić, czy myślałeś o rzeczach nietechnicznych, takich jak taśma whiteout (http://www.amazon.com/Wite-Out-Correction-1-Line-Dispenser-BICWOTAPP11/dp/B003V8Q7HS) lub przy użyciu nieodblaskowych pustych etykiet lub naklejek, aby ukryć błędy? –

+0

Jestem skomplikowaną osobą, a to rozwiązanie jest dla mnie zbyt proste;) Nie, poważnie: jestem świadomy tego rozwiązania, ale mam w głowie trochę więcej pomysłów, które nie mogą zostać zrealizowane w ten sposób, jeśli chcę stworzyć ładny tekst pisany ręcznie. Na przykład. Chciałbym móc podkreślić tekst w ten sam sposób, zmieniając jego kolor. Lub narysuj prostokątne pole wokół tekstu. Te rzeczy zabierają dużo czasu, jeśli chcę to zrobić ręcznie. – highsciguy

Odpowiedz

0

Proponuję, patrząc na skaner scansnap (być może skaner 3100). Jest kilka rzeczy, które mogą być pomocne w pakiecie oprogramowania.

Może się okazać, że znalezione oprogramowanie/skrypt nie będzie działać tak, jak chcesz. Wygląda na to, że wiele z tych zmian to rzeczy, które trzeba zobaczyć ludzkim okiem. Być może możesz zatrudnić osobistego asystenta, aby wprowadzić te poprawki. :)

2

Myślę o rozwiązaniu opartym na ImageMagick. Musielibyśmy następujące kroki:

  1. Znajdź kolor używany do rysowania w skanowanym dokumencie (do tej pory pod nazwą kolor docelowy);
  2. Znaleźć współrzędne x i y na obrazie;
  3. Przekaż tę pozycję jako seed dla algorytmu Flood Fill.

Możemy użyć następującego skryptu opartego na funkcjach ImageMagick:

  1. wyjścia wszystkie unikalne kolory na zdjęciu. Zostanie to wykorzystane do sprawdzenia, które elementy RGB mają docelowy kolor (command source).

    convert <image> -unique-colors -depth 8 txt:- > output.txt 
    
  2. Wyjście współrzędne każdego koloru w postaci pliku tekstowego:

    convert <image> txt:- > coord.txt 
    
  3. Znajdź x i y współrzędne koloru docelowego (command source).Załóżmy, że docelowy kolor otrzymany w etapie 1, to na czerwono:

    grep red coord.txt 
    
  4. Wreszcie, należy x i y jako nasiona floodfill zastąpić region okręgu o żądanym kolorze (command source). W tym przypadku użyłem white aby usunąć region:

    convert <image> -fill white -fuzz 13% \ 
         -draw 'color <x>,<y> floodfill' <image_floodfill_output> 
    

Parametr -fuzz uniknie, że kolory, które były pierwotnie red i został uszkodzony z powodu hałasu również zostanie zastąpiony.

Ten tutorial podaje więcej informacji o funkcji floodfill, takich jak wymiana kolorów krawędzi.

+0

+1 za tę sugestię. Byłoby jeszcze lepiej, gdybyś go trochę rozwinął ... :-) –

+0

@KurtPfeifle, dziękuję! :-) Które punkty wymagają poprawy? Może przykład użycia i dalsze wyjaśnienia dotyczące używanych poleceń? – Yamaneko

+0

Dokładnie :-) A może nawet zdjęcia i plik tekstowy (wyciąg), które demonstrują efekty poleceń, których używasz ... –