Mam zdjęcie ołówka wykonane na papierze, zrobione lampą błyskową w lustrzance cyfrowej na lustrzance cyfrowej i dwoma filtrami polaryzacyjnymi ( technika krzyżowego polaryzacji dla fotografii na płótnie).
Problem polega na tym, że gdy zbliżamy się do rysunku, oświetlenie staje się nierównomierne, ponieważ obiektyw rzuca cień na część obrazu. To tworzy gradient na obrazie, który jest w przybliżeniu, ale nie całkiem, liniowy.
Poniżej znajduje się przykładowy obraz; oryginał ma około 3 cm szerokości.
Jak można to zmienić, aby tło było równomiernie białe?
-Edytować-
Poniżej zeskanowane wyniki, nieskorygowane i poprawione. Choć na początku wygląda to całkiem obiecująco, niestety jest w pełnej rozdzielczości, co widać tutaj (szerokość 600 pikseli); skaner może wykonać 300 dpi, a rysunek ma szerokość około jednego cala. Jest to nieco mniej w porównaniu do 5000 pikseli z aparatu.
Ponadto, nieskorygowane wskazówki skanowania, że grafit rzeczywiście odbija dużą część światła, w przeciwieństwie do techniki cross-polaryzatora.
źródło
Odpowiedzi:
Metoda, której sam użyłem, jest podobna do twojej , ale używa wtyczki Resynthesizer (dla GIMP) lub Wypełniania z uwzględnieniem zawartości (dla Photoshopa) do odtworzenia gradientu:
Utwórz zaznaczenie, które całkowicie pokrywa rysunek. Możesz to zrobić ręcznie lub użyć filtrowania górnoprzepustowego, aby obliczyć maskę selekcji w następujący sposób:
Zacznij od użycia filtra wykrywającego krawędzie, takiego jak Różnica Gaussa na (skanie) skanu, aby z grubsza wyodrębnić rysunek:
Jeśli wynik nie ma kontrastu, użyj narzędzia Poziomy , aby go przyciemnić:
Zastosuj rozmycie gaussowskie :
Użyj narzędzia Próg , aby uzyskać maskę pokrywającą cały rysunek, i użyj Wybierz według koloru, aby go wybrać:
Gdy masz zaznaczenie obejmujące rysunek, zrób kopię oryginalnej warstwy skanowania i użyj opcji Wylecz zaznaczenie / Wypełnij z uwzględnieniem zawartości, aby ją wypełnić. Idealnie, skopiowana warstwa powinna teraz wyglądać jak obraz pustej kartki papieru:
Ustaw tryb edytowanej warstwy na Podziel, jak we własnej odpowiedzi. Jeśli chcesz zachować część tekstury papieru i / lub cieniowania, możesz nieco zmniejszyć krycie warstwy i być może zastosować niewielką rozmazanie:
(Na powyższym zdjęciu wypełniona warstwa Gaussa jest zamazana o 10 pikseli, a krycie ustawione na 95%).
Opcjonalnie po scaleniu warstw dostosuj poziomy, aby ustawić punkt czerni (wskazówka: użyj widoku histogramu logarytmicznego) i zwiększ kontrast:
(Ps. Kliknij zdjęcia w połowie wielkości, aby wyświetlić je w pełnym rozmiarze.)
Zaletą tej metody jest to, że może działać dość dobrze nawet w przypadku dość nieliniowych gradientów cieniowania. Oczywiście nie jest idealny - jeśli papier ma, powiedzmy, nieregularną plamę, której granica leży częściowo pod rysunkiem, wypełnienie uwzględniające treść prawdopodobnie nie odtworzy go poprawnie. Mimo to, jak widać powyżej, często daje całkiem przyzwoite wyniki.
źródło
Edycja: Napisałem skrypt Gimp, który wykonuje poniższe kroki, i kolejny dla odpowiedzi Ilmaris . Oba skrypty są dostępne do pobrania na GitHub . Sugerowana droga to ta .
Odpowiadam na to pytanie, ponieważ od dłuższego czasu szukam rozwiązania i znalazłem prosty i działający. Przejdźmy do wyniku od razu:
Utwórz warstwę tła, kopiując tylko pionowy pasek tła i rozciągając go do rozmiaru oryginalnego obrazu.
W Gimp: Wybierz
r
prostokąt od góry do dołu zawierający tło, wklejShift+Ctrl+V
do nowego obrazu i powiększFilter > Map > Tile
go do rozmiaru obrazu, przesuń nad nim rozmycie gaussowskie, a następnie skopiuj go z powrotem do obrazu jako nową warstwę.Ustaw tryb warstwy na Podział .
W razie potrzeby zmniejsz nieprzezroczystość warstwy, np. Do 90%. Utrzymywanie go na poziomie 100% jest zwykle nieco zbyt jasne.
W istocie polega to na tym, że warstwa tła określa wartość RGB
w
„białego” na każdym pikselu. Podział sposób warstwa następnie rozciąga się na wartości obrazu od[0,w]
się[0,255]
(patrz sposoby warstwy GIMP ) na piksel.(Zły) Przykład użycia krzywych i gradientu liniowego
Pierwsze próby zawsze polegały na powieleniu warstwy, zmianie jasności tak, aby najciemniejsze części na dole były odpowiednio oświetlone, oraz dodaniu maski warstwy z gradientem liniowym, aby rozjaśnić tylko ciemniejsze obszary. Im silniejszy gradient, tym gorzej wyglądał.
(Lepszy) Przykład użycia podziału
Podział daje znacznie lepsze wyniki; oświetlenie jest ustalone równomiernie i nie ma żadnych spalonych obszarów, szczególnie w lewej części rysunku.
źródło
Ta odpowiedź opisuje najszybsze niezawodne podejście, jakie znam atm, na podstawie odpowiedzi Ilmari Kanoren . Jest półautomatyczny; automatyczna maska nie działa w przypadku twardych obrazów, takich jak poniższy, ponieważ w niektórych częściach rysunku nie ma krawędzi.
Ten skrypt Gimp automatyzuje kroki 3 i 4 (należy pamiętać, że wymagany jest Resynthesizer), więc przepływ pracy jest następujący: Utwórz wybór, uruchom skrypt. Skrypt wykonuje zdjęcie 15 MP na moim 3-letnim laptopie w 6 sekund.
Krok 1 (opcjonalnie): Dostosuj krzywe, aby uzyskać głęboką czerń
Krok 2: Wybierz obiekt
W Gimp szybka maska
Shift+Q
to szybki sposób. Użyj ołówkaN
i pomaluj obiekt na biało, naciśnijShift+Q
ponownie, aby przekonwertować maskę na zaznaczenie.Krok 3: Odtwórz tło
Krok 4: Tryb podziału
Ustaw tryb warstwy na Podział i w razie potrzeby zmniejsz nieco krycie.
źródło
To jest forum fotograficzne, więc przyjmuję podejście fotograficzne. Oczywiście, aby uzyskać idealną biel, prawdopodobnie nadal potrzebujesz ulepszeń postprodukcyjnych.
Zamiast lampy błyskowej możesz spróbować użyć naturalnego światła. Unikaj bezpośredniego światła słonecznego, nie trzymaj się zbyt blisko okna, ale jak 2 metry od okna. Ma to na celu zmniejszenie różnicy w świetle między najbliższą i najdalszą częścią rysunku. (Ale ponieważ jest to mały obraz, odległość może nie być tak ważna.)
Możesz skierować statyw w dół i położyć rysunek na podłodze.
Lub jeśli nie masz statywu, możesz ustawić okładkę książki lub pojemnik na płatki, aby trzymać obraz pionowo na stole i ustawić aparat stabilnie na tym samym stole. (Umieść biały arkusz papieru za rysunkiem, aby uniknąć oglądania obrazów tła lub tekstur.)
Wspomniana technika polaryzacyjna ma miejsce w przypadku, gdy rysunek znajduje się za szkłem i gdy masz jasne obiekty lub odbicia. Ale jeśli twoje źródło światła jest ustawione pod kątem, prawdopodobnie nie musisz używać filtra.
źródło