Chciałbym zmniejszyć liczbę odcieni na moim płaskim obrazie z pełnego zakresu do zaledwie czterech, ale chciałbym zachować wartość / jasność (i, jeśli to możliwe, również nasycenie). Chcę czterech odcieni, ponieważ myślę, że będzie wyglądać świetnie.
Próbowałem użyć warstwy dopasowania odcienia, ale kiedy jej użyłem, zmieniła ona zakres tylko podczas konwersji, tak że jeden zakres został przekonwertowany na inny zakres z wieloma kolorami. Chcę przesunąć określony zakres, aby przekonwertować go na ten sam odcień, zachowując wartość / jasność (a może nawet nasycenie, jeśli można to zrobić).
Używam Photoshop CS5
Są to cztery wartości odcienia HSB / HSV, których chcę użyć:
- 333
- 58
- 193
- 242
Oto jak chciałbym przekonwertować odcienie:
Uwaga: zmodyfikowałem to pytanie od pierwszego opublikowania. Początkowo błędnie poprosiłem respondentów o zmniejszenie obrazu do czterech wartości RGB , przy jednoczesnym zachowaniu odcieni / wartości w obrazie źródłowym. Jest to jednak niemożliwe zadanie, ponieważ wartości RGB zawierają odcienie / jasność ORAZ barwy; w odcieniach i odcieniach RGB są nierozerwalnie połączone.
Na szczęście @Wolff był w stanie zrozumieć, co miałem na myśli, pomimo mojego kiepskiego sformułowania, a wraz z @Danielillo, @Ryan i @Emilie pomógł mi zrozumieć, że tak naprawdę chciałem uzyskać cztery odcienie, a nie cztery RGB wartości. Następnie zidentyfikował cztery barwy obecne w moich wartościach RGB (w HSB / HSV). Te wartości HSB / HSV są tymi, o które teraz pytam respondentów, aby celowali w konwersji obrazu (nie RGB).
Ponadto, jak zauważył @Wolff, w pierwszej wersji mojego postu nie określiłem, jak przekonwertować pełne spektrum HSB (nie miałem zakresów podobnych do magenty). Zaktualizowane pytanie obejmuje również ten wcześniej pominięty zakres.
Dla tych, którzy chcą zrozumieć przyczynę zamieszania (słusznie wyrażeni przez niektórych użytkowników, którzy udzielili alternatywnych odpowiedzi), były to oryginalne 4 wartości RGB, które opublikowałem:
Aktualizacja wyjaśnienia: proszę wiedzieć, że moim zamiarem jest wyłącznie wyświetlanie, a nie drukowanie. Zbudowałem witrynę opartą na tych czterech odcieniach i pomyślałem, że byłoby gładkie, gdyby wszystkie obrazy miały kolory wypaczone, aby je dopasować. Jednocześnie w ramach każdego z czterech zawalonych zakresów kolorów chciałem zachować jak najwięcej dynamiki zakodowanej przez oryginalną wartość / jasność. Mam nadzieję, że to pomoże. Punkty nie będą przyznawane przeze mnie, oryginalny plakat, za odpowiedzi w formie drukowanej, ale społeczność z pewnością doceni wszelkie wyjaśnienia dotyczące rozwiązania drukowanego. @Emilie, która wystawiła nagrodę na pytanie, może nagrodzić każdego, kogo zapragnie.
Dzięki @Emilie za umieszczenie nagrody za to! Byłem naprawdę zaskoczony, że nikt wcześniej nie był w stanie odpowiedzieć.
źródło
Odpowiedzi:
Jak zauważyli inni, logika tego pytania jest nieco błędna, ale jednak bardzo interesująca.
Moja odpowiedź opiera się głównie na matematyce RGB / HSB i przyznaję, że istnieje wiele wątpliwych aspektów, jeśli chodzi o postrzegane kolory, profile kolorów itp., Ale i tak spróbuję.
Pozwolę sobie nieco przedefiniować pytanie, aby móc na nie odpowiedzieć.
Przede wszystkim widmo, które nam pokazujesz, zmienia kolor z czerwonego na niebieski. Magenta brakuje - co zrobić z kolorami w tej części widma?
Rozszerzam więc wasze spektrum o magenta na obu końcach.
Innym problemem, jaki mamy, jest twoja lista czterech odcieni, jak ją nazywasz. Nie są to tylko odcienie , to kolory z indywidualnymi wartościami nasycenia i jasności . Nie ma to większego sensu, jeśli porównamy je ze spektrum, więc musimy „zredukować je do odcieni”, zmieniając zarówno nasycenie, jak i jasność na 100.
Użyjemy filtru HSB / HSL (należy go pobrać ze strony Adobe) w Photoshopie, aby uzyskać odcień obrazu jako maski alfa. Następnie użyjemy mapy gradientu do mapowania wartości odcienia na pożądane wartości, a następnie przekonwertujemy obraz z powrotem na RGB za pomocą filtra HSB / HSL.
Matematyka jest nieco funky, ponieważ zakres odcienia wynosi 0-360 ( i się zawija), zakres alfa wynosi 0-255, a zakres stopni gradientu wynosi 0-100.
Najpierw zrobię stolik, aby dowiedzieć się, co się dzieje. Możemy nie potrzebować wszystkich liczb.
(Wartości są zaokrąglone, a odcienie nie są dokładnie takie, jak je zdefiniowałeś, ponieważ rozszerzyłem spektrum. Oczywiście mogły być umieszczone inaczej).
Zróbmy kolorowy obraz i dodajmy widmo jako odniesienie. (Zdjęcie Mike Goad z Pixabay).
Korzystanie z filtra HSB / HSL daje nam następujący kanał odcienia:
Kopiuję kanał odcienia do nowego dokumentu w skali szarości (profil kolorów musi być Gray Gamma 2.2 ), aby móc na nim używać mapy gradientu. Konfiguruję mapę gradientu w następujący sposób:
Konfigurowanie ograniczników gradientu wymaga nieco manipulacji (praca z nim jest dość denerwująca). Otrzymuję wartości z tabeli, którą wcześniej stworzyłem. Łącznie jest 8 przystanków, niektóre z nich muszą się pokrywać, aby uzyskać twarde przejścia:
Wynikowy kanał barwy wygląda następująco:
W końcu kopiuję ten kanał odcienia z powrotem do początkowego obrazu HSB, zastępując stary kanał odcienia i przekształcam obraz z powrotem do RGB za pomocą filtra HSB / HSL.
Wierzę, że robi to zgodnie z życzeniem, ale nie jestem pewien, czy wygląda tak fajnie, jak się spodziewałeś. Przejścia są bardzo gwałtowne, ale można je oczywiście złagodzić, zmieniając mapę gradientu.
Edycja: podejście Javascript
Oto JSFiddle z wersją Javascript tej samej koncepcji. Upuść obraz na wynikowej stronie i zostanie przekonwertowany na cztery odcienie. Zmień „hueRanges”, aby dostosować wynik. Główna część kodu jest opatrzona adnotacjami.
Wynik różni się nieznacznie od metody Photoshop, ale jest bardzo blisko:
Ponieważ nie znam matematyki za filtrami Photoshopa, nie mogę powiedzieć, dlaczego jest taka różnica.
źródło
Jest to błędna koncepcja reprodukcji, ponieważ jest całkowicie aberracyjna, gdzie jeden kolor się kończy, a drugi zaczyna. Mówisz również o zachowaniu odcienia, co czyni go jeszcze bardziej zagmatwanym.
To powiedziawszy dla twojego wyniku, możesz spróbować:
Oto wyniki:
źródło
Pytanie to jest ostatnio edytowane ze stanu ambicji do lepszego kształtu. Wymaga teraz wyraźnie zdefiniowanej kwantyzacji i odwzorowania odcienia. Zaakceptowana odpowiedź daje ją dla Photoshopa.
Następny jest dla użytkowników freeware.
Paint.NET ma filtr wtyczek, który bezpośrednio mapuje zakres odcienia i nasycenia. To zadanie wymaga czterokrotnego zastosowania filtra, aby zmapować łącznie 360 stopni na cztery odrębne barwy. Wynik jest taki sam jak w zaakceptowanej odpowiedzi. Filtr to „Warunkowy odcień / nasycenie”. Jest to część pakietu efektów Evana.
Filtr nie jest w pełni dopracowany. Nie mogłem wprowadzić dokładnie predefiniowanych wartości odcienia. Ustawienia zakresu należy wprowadzać za pomocą zbyt małych suwaków, nie istnieją dokładne numeryczne pola wprowadzania. Oto test z tym samym obrazem, który został użyty w odpowiedzi Wolffa:
źródło
1. Konwertuj obraz RGB na HSB
Wybierz Filtr> Inne> HSB / HSL i wybierz Tryb wprowadzania: RGB i Kolejność wierszy: HSB. Sprawi to, że obraz będzie wyglądał bardzo dziwnie, ale pozwoli nam manipulować odcieniem niezależnie od nasycenia i jasności za pomocą kanałów obrazu.
2. Zmniejsz liczbę odcieni
Kanał czerwony będzie teraz zawierał odcienie dla wszystkich pikseli na obrazie. Chcesz je skwantyzować do czterech wybranych odcieni. To jest najtrudniejsza część. Jednym ze sposobów na to byłoby skopiowanie zawartości czerwonego kanału do nowego obrazu i ustawienie trybu obrazu na Kolor indeksowany oraz utworzenie niestandardowej palety z odcieniami zamapowanymi na odpowiednie wartości czarno-białe. Następnie wklej ten obraz z powrotem do czerwonego kanału.
3. Konwertuj z powrotem na RGB
Po zmniejszeniu liczby odcieni ponownie zastosujesz filtr HSB / HSL, ale z odwróconym ustawieniem kolejności wprowadzania / wierszy, aby zakończyć procedurę.
źródło
Pytanie nie wyjaśnia celu obrazu, ta odpowiedź dotyczy obrazu przeznaczonego do drukowania ( EPS DCS )
W takim przypadku konwersja obrazu na tylko cztery atramenty bez koloru czarnego zakłada, że cienie tego obrazu będą najciemniejszymi kolorami - niebieskim.
Dodaj po komentarzach i czacie
Dla mnie pytanie ma problem koncepcyjny, który utrudnia znalezienie optymalnego wyniku. Myślę, że OP pyta o obraz RGB, ale myśli w procesie miksowania CMYK. Dlatego używam obrazu CMYK, a @Wolff odpowiada przy użyciu obrazu RGB.
źródło
Nie konwertuje wielu kolorów na 4, ale osiąga 4 kolory z tym samym odcieniem? Otwórz pierwszy kolor w próbniku kolorów. Lewy i prawy zmienia odcień. W górę tworzy odcienie, w dół tworzy odcienie. Idź prosto ze swojego koloru na określoną odległość. Nie wiem, jak określić odległość, na podstawie wzroku i ręki, jak to robię. Jeśli twój oryginalny kolor znajduje się w połowie wykresu, wybierz punkt bezpośrednio nad nim, który wynosi 25% do góry (lub ile chcesz odcienia). Zwróć uwagę na wartość szesnastkową tego nowego koloru. Zrób to samo dla następnych trzech kolorów, próbując uzyskać taką samą ilość w stosunku do oryginalnego koloru.
Alternatywnie, zbierz razem 4 nasycone kolory i narysuj nad nimi biały prostokąt i zastosuj do niego przezroczystość / różnicę i krycie 80%. Być może będziesz musiał wypróbować inne folie i krycie, szczególnie, aby uzyskać odpowiednie odcienie, lub zastosować tylko krycie do prostokąta, dodając biel do kolorów równomiernie, aby uzyskać tę samą barwę.
źródło
Jest kilka sposobów, o których mogę myśleć, ale żaden z nich nie jest super dokładny i wygodny w każdym przypadku.
Ewentualnie możesz użyć programu Adobe Illustrator, jeśli go posiadasz.
Zaimportuj używany obraz i poszukaj „śledzenia obrazu”. Ustaw śledzenie obrazu na najlepsze ustawienie, które odpowiada Twoim potrzebom. Przynajmniej w wersji CS6 dostępne są ustawienia wstępne dla 3 lub 6 kolorów, ale jeśli otworzysz panel śledzenia obrazu, możesz ustawić kolejną pożądaną liczbę kolorów.
źródło