Jak przekonwertować stare zeskanowane dokumenty na czarno-białe


25

Mam kilka starych dokumentów, które zostały zeskanowane i chcę je przekonwertować na czarno-białe. Treść powinna być zawsze czarna, a tło białe:

wprowadź opis zdjęcia tutaj

Używam Photoshopa.


Na tak ciemnym tle może to być bardzo trudne. Zwykle robiłbyś to z regulacją poziomów w Photoshopie
Adam Schuld

Dziękuję za odpowiedzi bardzo pomogłeś. Nadal miałem problemy po przejściu na czarno-biały, więc przeszedłem kilka poziomów i nadal miałem trochę szarości. Więc poszedłem do regulacji i cieni / podświetleń. To działało bardzo dobrze, pomieszało się z nim do maksimum i doprowadziło go do jednego ciemnego cienia w kierunku strony dokumentu, a następnie użyło magicznej różdżki w 90% od nich i użyło gumki do czyszczenia wokół krawędzi i tekstu. Powiększono i pomalowano, aby naprawić kilka liter. Kocham Photoshopa.

Odpowiedzi:


18

Jeśli masz kontrolę nad skanowaniem lub możesz je ponownie przeskanować, zwiększ ustawienie kontrastu w skanie i ustaw czarny punkt na najciemniejszym z możliwych fragmentów tekstu. Ułatwiłoby to wykonanie poniższych czynności. Jeśli nie, czytaj dalej ...

Oto część dość typowego skanowania starych dokumentów:

Skan starego dokumentu

Szczegóły będą się różnić w zależności od dokumentu (na przykład ma to nieco większy kontrast niż twoja próbka), ale ogólny zarys będzie taki sam.

  • Konwertuj na skalę szarości za pomocą czarno-białej warstwy dopasowania. Użyj narzędzia Dostosowanie do celu („Przewijanie”) w panelu warstwy dopasowania, aby rozjaśnić tło (przewijanie w prawo) i przyciemnić tekst (przewijanie w lewo) tak bardzo, jak to możliwe.

Warstwa dopasowania czerni i bieli

Zauważ, że suwak żółci znajduje się daleko po prawej stronie, rozjaśniając żółtawe tło. Byłem w stanie tylko trochę przyciemnić tekst.

  • Użyj warstwy dopasowania Poziomy, aby zwiększyć kontrast.

Regulacja poziomów

To daje ci 95% drogi. Zeskanowany dokument ma zazwyczaj histogram z dużą bryłą w prawo (papier) i mniejszą bryłą w lewo (tekst). Będziesz musiał eksperymentować z dokumentami, aby znaleźć odpowiednie ustawienia.

Od tego momentu możesz powielić obraz, spłaszczyć go i użyć zwykłych narzędzi do retuszu w Photoshopie, aby wyczyścić resztę.


Dziękuję, spróbuję trzeciego wariantu, właśnie tego potrzebuję :)
user2496077,

1
To proces dwuetapowy. Wykonaj oba kroki, aby uzyskać najlepsze wyniki.
Alan Gilbertson,

bardzo miły toturial daah chciałby zrobić ćwiczenie, aby zmienić styl, aby ułatwić sobie zadanie
Richard Ndegese

11

Wspominasz o Photoshopie, ale jeśli jesteś zainteresowany, istnieje również wtyczka GIMP, która wykonuje zaawansowane czyszczenie i przetwarzanie w skali szarości:

  • Usuwa plamki
  • Wypełnia białe pory czarnym atramentem
  • Usuwa określone kształty zdefiniowane przez użytkownika
  • Uszkodził regenerację grafiki liniowej
  • Rozkład topologiczny

Nazywa się Nuvola Tools i koncentruje się głównie na zeskanowanej sztuce, ale możesz spróbować.

Przed:

wprowadź opis zdjęcia tutaj

Po:

wprowadź opis zdjęcia tutaj

Źródło: Rejestr wtyczek GIMP


9

Z GIMP:

  1. Otworzyć plik.
  2. Konwertuj dokument na skalę szarości: Obraz → Tryb → Skala szarości .
  3. Wybierz kolor tła: Wybierz → Według koloru , kliknij wskaźnikiem myszy na kolor tła.
  4. Odwróć wybrany kolor: Wybierz → Odwróć .
  5. Skopiuj zaznaczenie: Edytuj → Kopiuj .
  6. Utwórz nowy plik: Plik → Nowy .
  7. W oknie dialogowym nowego pliku, w polu: Opcje zaawansowane wybierz: Wypełnij : Biały , naciśnij Ok.
  8. Kliknij dowolne miejsce w oknie nowego otwartego dokumentu, aby go wybrać.
  9. Wklej zawartość schowka: Edytuj → Wklej .
  10. Dodaj nową warstwę, aby poprawić czarny tekst: Warstwa → Nowa z Widocznej , w palecie warstw, w polu: Tryb : wybierz Pomnóż .
  11. Połącz dwie warstwy: Warstwa → Scal w dół .
  12. Zapisz wynik jako plik JPEG: Plik → Eksportuj jako , wybierz jpeg i ustaw jakość co najmniej 60.

Wow, zadziałało to zaskakująco dobrze! Dzięki stary!
Alfredo Hernández

Znalezione w ten sposób szybciej niż rozwiązanie CS6. Podczas drukowania za skanowanym obrazem nadal było widoczne szarawe tło.
user919426

2

Próbowałem różnych wymienionych metod, w tym darmowa wtyczka FineThreshold http://www.mehdiplugins.com/english/finethreshold.htm . Ta wtyczka szybko osiąga dobre wyniki, pod warunkiem, że dokument jest jednolicie oświetlony, a sam papier jest również jednorodnej jakości. Jednak to nie był mój przypadek. Przekonałem się, że górna część każdego dokumentu była bardziej jasna niż dolna. W rezultacie każda metoda i jej częściowe ustawienie działały dobrze tylko dla części każdej strony, a nie dla reszty.

W końcu znalazłem efekt „Dynamiczne progowanie ”, który jest częścią Zoner Photo Studio v15 . Wydaje mi się, że jego wersja ewaluacyjna jest przez pewien czas darmowa. Wydaje się, że równoważy próg czarno-biały w zależności od lekkości otoczenia. Jego stosowanie jest procesem jednoetapowym. Dla mnie parametry „Duża, wartość +14” działały bardzo dobrze. Oprócz „Editor” Zoner zawiera także interfejs „Manager”, w którym można przetwarzać wsad na wszystkie wybrane obrazy. Ostatecznie udało mi się wydrukować wynik na bardzo starej drukarce laserowej 300 dpi z doskonałym kontrastem.

Teraz jedynym pozostałym zadaniem, dla którego szukam, jest automatyczne CROP każdego obrazu w inteligentny sposób, aby wyciąć niepotrzebne marginesy. Wszelkie wskazówki są mile widziane, ponieważ ręczne przycinanie jest nudne i czasochłonne.


1

W rejestrze wtyczek GIMP znajdowała się wtyczka, która to zrobiła. Teraz jest tutaj zarchiwizowane .

Jakiś czas temu przetłumaczyłem to na Python i działało to znacznie szybciej.

Oto wynik jego zastosowania do obrazu w pierwotnym pytaniu:

wprowadź opis zdjęcia tutaj

Oto wynik jego zastosowania do obrazu w odpowiedzi Alana:

wprowadź opis zdjęcia tutaj

W każdym razie oto kod wtyczki:

from __future__ import division
import random
import gimp, gimpfu

pdb = gimp.pdb

sample_count = 100

def set_image_background_to_white(image, drawable):
  pdb.gimp_context_push()
  pdb.gimp_image_undo_group_start(image)
  pdb.gimp_progress_set_text('Correcting background')

  if drawable.is_gray:
    channel_count = 1
  elif drawable.is_rgb:
    channel_count = 3

  assert not drawable.is_indexed

  # get some random points in the image
  sum_by_channel = [0]*channel_count
  for sample_index in range(sample_count):
    px = pdb.gimp_drawable_get_pixel(drawable,
                                     random.randint(0, pdb.gimp_drawable_width (drawable)-1),
                                     random.randint(0, pdb.gimp_drawable_height(drawable)-1))[1]

    for i in range(channel_count):
      sum_by_channel[i] += px[i]

    pdb.gimp_progress_update(sample_index/sample_count)

  if drawable.is_gray:
    pdb.gimp_levels(drawable, gimpfu.HISTOGRAM_VALUE,
                    0, sum_by_channel[0]/sample_count,
                    1.,
                    0, 255)
  elif drawable.is_rgb:
    for i in range(channel_count):
      pdb.gimp_levels(drawable, 1+i,
                      0, sum_by_channel[i]/sample_count,
                      1.,
                      0, 255)

  pdb.gimp_levels(drawable, gimpfu.HISTOGRAM_VALUE,
                  0, 255,
                  0.6,
                  0, 255)

  pdb.gimp_image_undo_group_end(image)
  pdb.gimp_displays_flush()
  pdb.gimp_progress_update(1.)
  pdb.gimp_context_pop()

gimpfu.register('set_image_background_to_white',           # name
                'Set image background to white',           # blurb
                'No help info yet',                        # help
                'Robert Fleming',                          # author
                'Robert Fleming',                          # copyright
                '2015',                                    # date
                '<Image>/Filters/Set Background to White', # menupath
                'RGB*, GRAY*',                             # imagetypes
                [],                                        # params
                [],                                        # results
                set_image_background_to_white,             # function
                )

gimpfu.main()

-2

Po prostu spróbuj w Photoshopie. tryb skali szarości.


1
Witamy w Graphic Design SE! Szukamy pełniejszych odpowiedzi, a nie tylko jednej linijki. Czy możesz wyjaśnić, jak to zrobić w trybie skali szarości?
Luciano
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.