Uczynienie tła obrazu przezroczystym w Gimp

303

Mam kilka obrazów jpg i muszę mieć przezroczyste tło dla każdego z nich.

Mam GIMP jako narzędzie graficzne.

Muszę umieścić je na stronie internetowej i muszę zobaczyć tylko główny element i mieć przezroczyste tło.

Altówka
źródło
Właśnie zorientowałem się, że jeśli jesteś na Macbooku, musisz nacisnąć fn-deletepo wybraniu różdżki;) usuwanie nie działa samo z siebie.
Ben

Odpowiedzi:

307

Aby rozwinąć odpowiedź utopicam , czasami twój obraz może zawierać obszary, takie jak cienie, które chciałbyś być półprzezroczyste. Załóżmy na przykład, że masz zdjęcie zrobione w lightboxie, na przykład to ładne i licencjonowane zdjęcie szwedzkiego drewnianego konia zabawkowego dzięki uprzejmości Creative Tools :

Zdjęcie zabawkowego konia Dalekarlian w lightboksie, na licencji CC-By 2.0 firmy Creative Tools

Ogólnie rzecz biorąc, pierwszym krokiem byłoby dostosowanie poziomów obrazu, aż tło rzeczywiście będzie jednolicie białe, z wyjątkiem cieni i odbić, które chcemy zachować. (Możesz użyć tej techniki również na szarym lub kolorowym tle, ale uzyskanie trochę lepszych wyników jest nieco trudniejsze.) W tym przypadku obraz jest już dobrze wyregulowany, więc nie musimy nic z tym robić.

Następnym krokiem jest wybranie tła. Było to dość łatwe z narzędziem magicznej różdżki , chociaż musiałem naprawić niektóre bity, w których białe paski na obiekcie mieszają się z tłem z narzędziem lasso . Ponadto, kiedy już dobrze wybrałem tło, rozszerzyłem zaznaczenie o kilka pikseli (w pełnej rozdzielczości), aby uniknąć pozostawiania białawego aureoli wokół obiektu z powodu aliasingu. (Nie widać tego na zmniejszonym zrzucie ekranu, ale naprawdę udało mi się zrobić całkiem niezłą robotę z wyborem, jeśli sam mogę to powiedzieć.)

To samo zdjęcie z wybranym tłem

Teraz tutaj jest trick : zamiast po prostu wycinanie tła, użyłem KoloryKolor do Alpha , aby zmienić kolor tła (biały) Do przejrzyste. (Można również użyć wypełnienia kubełkowego w trybie wymazywania kolorów, jak sugeruje utopicam). Jeśli zastosuje się go do całego obrazu, spowoduje to, że obiekt również będzie wyglądał na półprzezroczysty, ale ponieważ wybrane jest tylko tło, cienie stają się półprzezroczyste, podczas gdy sam obiekt pozostaje nieprzezroczysty:

Zdjęcie po zastosowaniu Koloru do Alfy

A oto to samo zdjęcie na jasnoniebieskim tle, aby lepiej pokazać półprzezroczyste cienie i odbicia:

Ten sam obrazek na jasnoniebieskim tle

Jedną dodatkową sztuczką, której nie pokazałem, jest to, że często wygodniej jest zrobić dwie kopie warstwy obrazu, przekonwertować zaznaczenie na maskę warstwy na górnej i zastosować Kolor na Alfie na dolnej. Pozwala to dostroić krawędzie obiektu, edytując maskę, jednocześnie obserwując na żywo, jak będzie wyglądał wynik. (Wskazówka: ułóż kilka warstw tła wypełnionych różnymi kolorami, abyś mógł łatwo sprawdzić, jak obraz wygląda na różnych tłach.) W szczególności czasami delikatne rozjaśnienie krawędzi w pobliżu krawędzi obiektu może sprawić, że efekt będzie ładniejszy i bardziej naturalne, ponieważ naśladuje tło odbijające się od obiektu.

Ilmari Karonen
źródło
1
the first step would be to adjust the levels of the image until the background really is solid white- czy należy to dokładnie zrobić dla nas, manekinów? Czy powinienem zadać osobne pytanie, jak to zrobić?
hippietrail
1
@hippietrail: Narzędzie poziomów ogólnie robi całkiem niezłą robotę: po prostu przesuń suwak wprowadzania po prawej stronie w lewo, aż będzie dobrze wyglądał, lub użyj białego zakraplacza. Jeśli wartość odcięcia wygląda zbyt ostro, możesz przejść do „Edytuj te ustawienia jako krzywe” i wygładzić ją. (Zasadniczo to, czego zwykle potrzebujesz, to krzywa, która jest w większości liniowa, ale wygina się nieco w pobliżu górnej krawędzi, aby stawić jej stopniowo, a nie w ostrym kącie.)
Ilmari Karonen
Lubię narzędzie Krzywe, aby przesunąć „białe” tło do pełnej bieli. Zapewnia to również ładne rozciągnięcie histogramu na pozostałej części obrazu.
Pan Purple,
75

Korzystanie z szybkiego wypełnienia wiadra zamiast wyboru konturu

Uwaga: ten samouczek jest również dostępny w formacie PDF.

_La trahison des images_ autorstwa rodaka René Magritte'a;  częściowo zdewastowany na potrzeby tego samouczka.

Dodaj kanał alfa

Niektóre typy obrazów nie mają kanału przezroczystości; Na przykład JPG. W takim przypadku dodaj kanał przezroczystości alfa. Dokonuje się tego poprzez wybranie Layer → Tranparency → Add Alpha Channel.

Wypełnienie wiadra kolorem [opcjonalnie]

Następny krok jest opcjonalny i polega na wypełnieniu obszaru, który powinien stać się najpierw przezroczysty zwykłym kolorem. Wybierz narzędzie do wypełniania wiadra lub naciśnij Shift+ B. W Bucket Fillopcjach zestawu narzędzi wybierz Fill transparent areastylko wtedy, gdy jest to konieczne. Wybierz BG colour filli Sample mergeduruchom kilka prób, dostosowując Thresholddla uzyskania najlepszych rezultatów. Pomiędzy naciśnij Ctrl+, Zaby cofnąć.

Niektóre mieszanie kolorów będzie nieuniknione, a nawet pożądane. (Pod tym względem Adobe Photoshop nie różni się.) Dlatego wybierz kolor zgodny z tłem, na którym ostatecznie zostanie użyty obraz. Kliknij prostokąt koloru tła w górnej połowie Tool Optionsokna przybornika, aby zmienić kolor tła. Tutaj użyłem f3f3e9jako koloru tła do wypełnienia jednolitym kolorem. Jednak można również użyć narzędzia Kroplomierz, aby wybrać kolor z dowolnego miejsca na pulpicie.

<code> Wypełnienie wiadra </code>: Wybierz <code> Wypełnij przezroczyste obszary </code> tylko wtedy, gdy jest to konieczne.  Wybierz <code> Wypełnienie kolorem BG </code> i <code> Próbka scalona </code> i uruchom kilka prób, dostosowując <code> Próg </code>, aby uzyskać najlepsze wyniki.  Pomiędzy nimi naciśnij <kbd> Ctrl </kbd> + <kbd> Z </kbd>, aby cofnąć.

Zastosowano <code> Wypełnienie wiadra </code>.  Wybierz kolor wypełnienia, który jest zgodny z tłem, na którym ostatecznie zostanie użyty uzyskany obraz.  Jest tak, ponieważ niektóre mieszanie kolorów jest nieuniknione, a nawet pożądane.  Tutaj użyłem <code> f3f3e9 </code> do wypełnienia jednolitym kolorem.

Wybierz według koloru

Właściwą rzeczą do zrobienia jest teraz Select → By Colour. Może to być kuszące Colour to Transparency, ale zmieniłoby to również półprzezroczyste obszary w pożądanym obszarze obrazu. Tym razem wybierz zarówno, Fill transparent areasjak i Sample merged. W tym konkretnym przykładzie postanowiłem nie stosować Antialiasingani Feather edges. Niemniej jednak eksperymentuj z tymi ustawieniami i wybierz to, co wygląda najlepiej. Ponownie uruchom kilka prób, dostosowując się, Thresholdaby uzyskać najlepsze wyniki. Pomiędzy naciśnij Ctrl+, Zaby cofnąć.

<code> Wybierz według koloru </code>: Tym razem wybierz <code> Wypełnij przezroczyste obszary </code>, a także <code> Próbka scalona </code>.  Ponownie wykonaj kilka prób, dostosowując <code> Próg </code> i eksperymentuj z <code> Antialiasing </code> i <code> Krawędzie wtapiania </code>, aby uzyskać najlepsze wyniki.  W międzyczasie naciśnij \ <kbd> Ctrl </kbd> + <kbd> Z </kbd>, aby cofnąć.

<code> Wybierz → Zastosowane według koloru </code>

Odejmij od zaznaczenia

Czasami trudno jest dokładnie dobrać kolor. Niektóre z pożądanych obszarów obrazu mogą być również wybrane, ponieważ pasują do siebie kolory. W tym przypadku do usunięcia wybrano również dziewięć ledwo widocznych dziewięciu pożądanych pikseli na środku potoku. Gdy tak się stanie, użyj Ctrl+ za Dragpomocą wybranego Selectnarzędzia, aby wybrać obszar wyboru odejmowania.

Użyj <kbd> Ctrl </kbd> + <code> Przeciągnij </code> za pomocą wybranego narzędzia <code> Wybierz </code>, aby wybrać odejmowany obszar wyboru.

Wybrany obszar przezroczystości jest teraz wybrany.

Zwiększ wybór [opcjonalnie]

Na brzegu pożądanego obrazu niektóre odcienie tła nadal pozostają niezaznaczone. W takim przypadku zwiększ zaznaczenie za pomocą piksela Select → Grow… → 1px.

Usunąć

Po wybraniu żądanego obszaru przezroczystości, po prostu naciśnij Delete.

Po wybraniu żądanego obszaru przezroczystości, po prostu naciśnij <kbd> Usuń </kbd>.

Ostateczny wynik

Na koniec wyeksportuj przezroczysty obraz File → Export As...do formatu pliku, który obsługuje przezroczystość. To byłoby najlepiej PNG, ale GIF też by działał.

Wynik końcowy

Serge Stroobandt
źródło
4
Możesz zwiększyć wybór o 1px, aby usunąć białe krawędzie (Wybierz> Rozwijaj> 1> OK)
MonoThreaded
4
W ogóle nie jestem zaznajomiony z projektowaniem graficznym. Za każdym razem, gdy muszę usunąć tło, wracam do tej odpowiedzi. Dziękuję Ci!
slayernoah
1
Odkryłem również, że użycie Featheropcji w zaznaczeniu jest również pomocne w przypadku obrazów z krawędziami rozmytymi względem białych znaków.
żartuje
1
Dzięki: mając plik jpg z czystym białym tłem, było to tak proste: dodaj warstwę przezroczystości, wybierz, usuń.
djvg
21

Wygląda na to, że musisz przyciąć niektóre części plików JPG (na przykład główną postać) i usunąć „tło”. Możesz to zrobić za pomocą narzędzia lasso.

Witryna gimp zawiera wiele samouczków i wyjaśnień. Sprawdź to http://docs.gimp.org/en/gimp-painting.html#gimp-concepts-selection i to: http://docs.gimp.org/en/gimp-tool-free-select.html

Wielokątny wybór tworzy punkt zaczepienia przy każdym kliknięciu. Następnie przesuwanie wskaźnika myszy rysuje linię z nowym punktem kontrolnym, którą możesz przesuwać, dopóki nie klikniesz ponownie.

Dostęp do narzędzia Lasso można uzyskać na różne sposoby:

  • Z paska menu obrazu Narzędzia → Narzędzia zaznaczania → Dowolny wybór,

  • klikając ikonę narzędzia w ToolBox,

  • za pomocą skrótu klawiaturowego F.

Aby przezroczyste tło obrazu było przezroczyste , dodaj kanał alfa i użyj różdżki, aby wybrać tło. Następnie użyj narzędzia Próbnik kolorów, aby wybrać kolor tła, który staje się kolorem pierwszego planu w Przyborniku. Użyj narzędzia Wypełnienie wiadra z wybranym kolorem. Ustaw tryb Wypełnianie wiadra na „Wymazywanie koloru”, który usuwa piksele o wybranym kolorze; inne piksele są częściowo usuwane, a ich kolor zmieniany.

Yisela
źródło