Skocz do zawartości

Czym są przestrzenie kolorystyczne (sRGB, AdobeRGB) i jak nimi zarządzać


holeris

Rekomendowane odpowiedzi

Świetne tłumaczenia, dziękuję! Nurtuje mnie jeszcze jedna kwestia: gdzie zaimplementowany jest algorytm transformujący liczbę elektronów na konkretne wartości RGB i czy w ogóle takowy istnieje?

W moim rozumieniu zarejestrowane przez matrycę fotony przekształcane są w elektrony, przechodzi to wszystko przez przetworniki A/C, etc. Kamera ostatecznie zapisuje tę surową informację o ilości złapanych elektronów na pixel mniej więcej w postaci zero fotonów - w polu ustawiamy wartość 0, maksymalna głębokość studni - w polu ustawiamy maksa dla 14 bitów (w zależności od kamery, ilość bitów może się różnić). Tak więc mamy plik, w którym zapisana jest (nieważne w jakiej postaci) macierz mówiąca nam ile zarejestrowało się elektronów na piksel. W każdym polu tej macierzy zapisana jest 14-bitowa wartość.

W którymś momencie należy jednak zdecydować jak przekształcić ilość elektronów w informację o kolorze (uprośćmy sytuację do kamery mono, bez maski bayera). Czy tutaj zachodzi jakakolwiek transformacja? Czy jest jakaś zasada, którą każdy producent oprogramowania sam implementuje? Czy też po prostu, w zależności od przyjętego gamutu, 0 bitów oznacza czerń, a maksymalna ilość bitów w macierzy taki a taki kolor, w zależności od przyjętego gamutu i koloru, który sobie akurat dla naszej, monochromatycznej przecież, klatki przyjęliśmy. Czyli zdjęcie jest de facto 14 bit na kanał i znów od softu zależy czy przy zapisie do 16bit rozciągnie je czy zostawi 2 bity puste?

Odnośnik do komentarza
Udostępnij na innych stronach

1 godzinę temu, MateuszW napisał:

Problem jest taki, że po otwarciu w PS dostaję informację, że profil jest błędny:

image.png.cbeb2a89f757bacc77b61c12c3620eed.png

Mam rozwiązanie tego konkretnego problemu. Zapewne próbowałeś zapisać monochromatyczny greyscale z dołączonym profilem sRGB. To się nie może udać i dlatego Photoshop zauważa ten błąd. Zamień obraz na kolor RGB w Pix'ie i wtedy będzie wszystko w porządku.

Odnośnik do komentarza
Udostępnij na innych stronach

5 minut temu, holeris napisał:

Czyli zdjęcie jest de facto 14 bit na kanał i znów od softu zależy czy przy zapisie do 16bit rozciągnie je czy zostawi 2 bity puste?

Za przeliczenie ilości elektronów na 1 ADU (jednostkę zapisaną) decyduje parametr zwany GAIN. W wielu kamerach możesz sam o tym decydować. Bywa tak, że jedno ADU zawiera w sobie 2 elektrony, a bywa i tak, że 1 elektron kwantyfikowany jest na 2 jednostki ADU :P

Odnośnik do komentarza
Udostępnij na innych stronach

18 minut temu, Adam_Jesion napisał:

Za przeliczenie ilości elektronów na 1 ADU (jednostkę zapisaną) decyduje parametr zwany GAIN. W wielu kamerach możesz sam o tym decydować. Bywa tak, że jedno ADU zawiera w sobie 2 elektrony, a bywa i tak, że 1 elektron kwantyfikowany jest na 2 jednostki ADU :P

No tak, trochę to uprościłem. Masz oczywiście rację. W macierzy nie jest dosłownie zapisana liczba elektronów. W każdym razie jest to surowy sygnał, który w połączeniu z gainam i offsetem daje pośrednio informację o ilości elektronów. Pytanie czy później jest transformacja jakaś, czy po prostu jeden do jednego interpretujesz to "jak chcesz". Jak ustalisz, że to czerwony, to będziesz się poruszał po RGB w ramach (ilość ADU, 0, 0), co w wybranym gamucie będzie oznaczało inne miejsce na trójkącie barw. Dalej następuje już inwencja twórcza.

 

Nasunęła mi się początkowo myśl, że w związku z tym wszystkim zawsze powinienem pracować w gamucie Adobe RGB, bo przecież w każdej chwili, np. w celu prezentacji w internecie, mogę przekonwertować do sRGB. Ale z drugiej strony, obrabiając zdjęcie od początku w Adobe RGB mogę uzyskać kolory, których nie ma w sRGB i wtedy podczas konwersji zmienię wygląd zdjęcia i może przestać odpowiadać temu, co sobie zamierzyłem. Co z kolei skłania mnie do używania formatu sRGB, chyba że będę planował obrobić zdjęcie pod wydruk. Z tym, że wtedy będę się musiał liczyć z faktem, że jeśli będę je chciał kiedyś opublikować w internecie, to może zostać odebrane inaczej niż sobie zamierzyłem, bo a) Adobe RGB może nie być wspierane, b) większość ludzi nie ma odpowiednich monitorów.

Edytowane przez holeris
Odnośnik do komentarza
Udostępnij na innych stronach

19 minut temu, holeris napisał:

No tak, trochę to uprościłem. Masz oczywiście rację. W macierzy nie jest dosłownie zapisana liczba elektronów. W każdym razie jest to surowy sygnał, który w połączeniu z gainam i offsetem daje pośrednio informację o ilości elektronów. Pytanie czy później jest transformacja jakaś, czy po prostu jeden do jednego interpretujesz to "jak chcesz". Jak ustalisz, że to czerwony, to będziesz się poruszał po RGB w ramach (ilość ADU, 0, 0), co w wybranym gamucie będzie oznaczało inne miejsce na trójkącie barw. Dalej następuje już inwencja twórcza.

 

Nasunęła mi się początkowo myśl, że w związku z tym wszystkim zawsze powinienem pracować w gamucie Adobe RGB, bo przecież w każdej chwili, np. w celu prezentacji w internecie, mogę przekonwertować do sRGB. Ale z drugiej strony, obrabiając zdjęcie od początku w Adobe RGB mogę uzyskać kolory, których nie ma w sRGB i wtedy podczas konwersji zmienię wygląd zdjęcia i może przestać odpowiadać temu, co sobie zamierzyłem. Co z kolei skłania mnie do używania formatu sRGB, chyba że będę planował obrobić zdjęcie pod wydruk. Z tym, że wtedy będę się musiał liczyć z faktem, że jeśli będę je chciał kiedyś opublikować w internecie, to może zostać odebrane inaczej niż sobie zamierzyłem, bo a) Adobe RGB może nie być wspierane, b) większość ludzi nie ma odpowiednich monitorów.

A. zawsze możesz sobie podejrzeć, jak będzie wyglądało AdobeRGB na monitorze sRGB (od tego jest tzw. proofing i w Photoshopie oczywiście jest wspierany), 

B. konwersja AdobeRGB > sRGB to nie jest po prostu obcięcie informacji. Od tego właśnie jest narzędzie konwersji, żeby odpowiednio przesunąć kolory tak, żeby możliwie najwięcej udało się zaprezentować (do tego wybierasz sobie "intencje" prezentacji np. perceptual, saturation, etc.).

C. używając odpowiednio informacji z pkt 1 możesz sobie "dokalibrować" obrazek tak, żeby na gorszych monitorach było cacy.

  • Dziękuję 1
Odnośnik do komentarza
Udostępnij na innych stronach

53 minuty temu, holeris napisał:

Tak, kupiłem ostatecznie asusa PA329Q. Wg testu na pclab:

image.png.cfd6895ec0534748c973ce6e6078debd.png

aaaa no to ja bym się w ogóle nie zastanawiał i działał w szerszych gamutach + ostatecznie robił proofing i konwersję jpg pod sRGB, a PSD/TIF zostawiał w szerszym. Ale to twój gamut - zrobisz co chcesz ;)

  • Dziękuję 1
Odnośnik do komentarza
Udostępnij na innych stronach

Ciągle mam jakieś dziwne objawy. Robię tak:

1. Otwieram w PS stacka w formacie TIF.

2. Przypisuję mu profil sRGB (opcja assign profile).

3. Obrabiam testowo zdjęcie.

4. Zapisuję TIFa (przez save as). Opcja dołączenia profilu jest zaznaczona.

5. Zapisuję JPG (przez export as). Nie zaznaczam konwersji do sRGB, zaznaczam dodanie profilu.

6. JPG otwieram w PS. Wygląda tak samo jak TIF w PS.

7. JPG otwieram w firefox. Wygląda tak samo jak TIF w PS.

8. W windowsowej przeglądarce obrazów, w paincie, nawet w rawtherapy JPG wygląda inaczej niż TIF w Photoshopie / Firefoxie - czerwień jest bardziej intensywna.

9. Wracam do TIFa w PS. Próbuję przekonwertować profil (opcja convert profile to). Z sRGB w identyczne sRGB - pojawiają się inne kolory w PS (takie jak w punkcie 8).

 

Dlaczego mam taki efekt w punkcie 8? Skoro zdjęcie ma przypisany profil sRGB, a sRGB jest de facto standardem, to nie powinno się wszędzie wyświetlać tak samo?

Efekt w punkcie 9 jest równie dziwaczny.

 

Co robię źle?

Edytowane przez holeris
Odnośnik do komentarza
Udostępnij na innych stronach

Sprawdź, czy masz prawidłowo ustawiony profil kolorystyczny dla monitora w Windowsie, to po pierwsze. A po drugie, Windows generalnie nie jest tytanem prawidłowej obsługi profili i spójności kolorystycznej między aplikacjami, a systemem. Z tego m.in. powodu branża graficzna i fotograficzna kocha MacOS'a ;), który color management ma w swoim DNA.

Wiele aplikacji (także systemowych) na Win ma gdzieś color management. O ile wiem, Paint w ogóle nie zarządza kolorem i nie rozpoznaje profili. Może więc interpretować kolor po swojemu. Z tego co widzę, Google jest pełne takich pytań (dlaczego mój Paint pokazuje złe kolory, albo przeglądarka zdjęć w systemie ma bardziej żółty odcień, etc.). Sugeruję pozostanie przy profesjonalnych aplikacjach do oceny koloru (vide Photoshop).

Zalecam jednak konwertowanie zdjęć do sRGB przy eksporcie. Z drugiej strony w pkt 9 nie możesz zrobić takiej operacji tym narzędziem, bo wyjdzie kiszka. Nie konwertuje się sRGB do sRGB.

Odnośnik do komentarza
Udostępnij na innych stronach

6 minut temu, Adam_Jesion napisał:

Sprawdź, czy masz prawidłowo ustawiony profil kolorystyczny dla monitora w Windowsie, to po pierwsze.

Wyglądają OK.

image.png.045a30412cd440cf638ab52fc596e1e4.png

bla

7 minut temu, Adam_Jesion napisał:

Wiele aplikacji (także systemowych) na Win ma gdzieś color management. O ile wiem, Paint w ogóle nie zarządza kolorem i nie rozpoznaje profili. Może więc interpretować kolor po swojemu.

To wiele tłumaczy, dzięki!

8 minut temu, Adam_Jesion napisał:

Zalecam jednak konwertowanie zdjęć do sRGB przy eksporcie.

Czym się w zasadzie różni konwersja do sRGB od dołączenia profilu sRGB?

Odnośnik do komentarza
Udostępnij na innych stronach

1 minutę temu, holeris napisał:

Czym się w zasadzie różni konwersja do sRGB od dołączenia profilu sRGB?

Tym, że kolor zostaje skonwertowany od razu fizycznie w pliku, a przy tylko załączonym profilu konwersja następuje w locie przy odtwarzaniu na danym urządzeniu/programie (więc zdajesz się bardziej na color management nieznanej aplikacji, którą ktoś może użyć).

Choć w przypadku sRGB (od początku do końca) nie powinno to mieć znaczenia, ale jak widać,... różnie bywa z aplikacjami i interpretacją.

Odnośnik do komentarza
Udostępnij na innych stronach

W dniu 29.10.2019 o 10:29, Adam_Jesion napisał:

To mnie zaintrygowało i na 99% odpowiada za twój problem. Mylisz przestrzeń koloru (sRGB, AdobeRGB, proPhoto, etc.) ze sprzętowym profilem urządzenia (monitora). Nie można tak robić. W Color Settings musisz mieć ustawiony ogólny gamut (przestrzeń), w którym chcesz pracować (a nie profil monitora, bo to zupełnie co innego).

Cześć. Warto pamiętać, że jest jednak dość istotny szczegół wiążący przestrzeń roboczą RGB z możliwościami monitora - nie ma sensu deklarować przestrzeni roboczej jako np. Adobe RGB jeśli monitor nie jest w stanie jej wyświetlić, a my nie możemy w związku z tym zobaczyć w wiarygodny sposób efektów pracy w Photoshopie. Wersja odwrotna, kiedy to ustawiamy przestrzeń węższą niż możliwości monitora (np. sRGB w wypadku monitora zdolnego pokazać Adobe RGB) wydaje się bezpieczna, jednak wiąże się ze stratą informacji o kolorze, której nie da się już odzyskać. Wprawdzie idea profili kolorystycznych jest taka aby tłumaczyć jedną przestrzeń kolorystyczną na inną podczas kolejnych etapów "wędrówki" grafiki, jednak bywa to proces stratny, co nie zawsze widać na pierwszy rzut oka. Przycinanie gamutu do przestrzeni węższej nie jest odwracalne. "Upychając" informację o kolorze w skromnej przestrzeni sRGB nie wrócimy już nigdy do pełnej informacji jaką mogła pomieścić przestrzeń Adobe RGB, możemy co najwyżej sztucznie rozdmuchać informację o kolorze przy pomocy algorytmu zarządzającego barwą. Trochę jak ze zmniejszeniem rozdzielczości. Można ją potem ponownie podnieść - ale utraconej informacji o szczegółach już się nie odzyska.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

Moim zdaniem należy pracować na jak najszerszej przestrzeni - jeżeli aparat daje AdobeRGB to używamy nie mniejszej niż AdobeRGB.

Jak ktoś wyżej napisał - wrócić się nie da, a sprzęt będzie coraz lepszy.

I archiwizować dobre oryginały RAW/FITS, chyba że nie mamy ciągot do wracania do starych zdjęć - ja czasami wracam do powtórnej obróbki dawnego zdjęcia i pluję sobie w brodę jeżeli zapisałem jako JPG ;)

Fakt, jestem "astrofotografem" z zerowym doświadczeniem, ale za to fotografem 50 lat licząc pierwszy aparat.

Odnośnik do komentarza
Udostępnij na innych stronach

Pełna zgoda - po pierwsze NIGDY nie zachowywać oryginałów w zawężonej przestrzeni sRGB bo to co się przytnie, to już se ne vrati. Natomiast jeśli chodzi o pracę - no to tutaj już trzeba samemu zdecydować czy mając monitor wyświetlający jedynie sRGB tworzyć końcowe prace w przestrzeni AdobeRGB ryzykując, że nie widzi się wiarygodnego podglądu.

Odnośnik do komentarza
Udostępnij na innych stronach

W dniu 2.11.2019 o 22:54, lulu napisał:

której nie da się już odzyskać

Ale jak to się ma do astrofoto? Przecież kamera astro nie ma żadnej unormowanej przestrzeni barw, generuje pliki surowe, gdzie każdy kanał zapisany jest na 16 bitach i już. Nie ma tu określonej przestrzeni, nie ma żadnego profilu. Teraz wrzucając plik do programu "narzucamy" mu jakąś przestrzeń. Moim zdaniem, jeśli wybierzemy Adobe RGB, to po prostu kolor będzie rozciągnięty na szerszej palecie, którą wyświetli lepszy monitor. Jeśli damy sRGB, to kolor będzie "zgnieciony" w nieco mniejszym obszarze, ale będzie zawierał tyle samo odcieni (16 bi na kanał).

  • Lubię 2
Odnośnik do komentarza
Udostępnij na innych stronach

31 minut temu, MateuszW napisał:

Ale jak to się ma do astrofoto? [...] Jeśli damy sRGB, to kolor będzie "zgnieciony" w nieco mniejszym obszarze, ale będzie zawierał tyle samo odcieni (16 bi na kanał).

no właśnie, i jak potem kupisz monitor z większym gamutem to możesz sobie zdjęcie sRGB rozciągnąć na tę większą przestrzeń barw według własnego gustu, bo i tak kolory są kwestią umowną.

co innego jeżeli na etapie przetwarzania ustalisz większą przestrzeń barw i potem przekonwertujesz obraz do sRGB, wtedy nastąpi już nieodwracalna utrata informacji bo różniące się od siebie kolory spoza sRGB zostaną zastąpione tym samym kolorem sRGB. więc ustawiać można co chcemy ale nie wolno konwertować :)

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

@szuu jest dokładnie odwrotnie jak piszesz. Zmiana przestrzeni pliku graficznego na szerszą nie rozciągnie jednego koloru do dwóch (i więcej) różnych wartości. Za to zmiana do węższej przestrzeni, prze-mapuje dwa kolory z szerszej przestrzeni (a lezące poza węższą) na dwa kolory w węższej.

 

Raw / Fit to nie są formaty graficzne, tylko formaty przechowywania danych, bez przypisanego sposobu dekodowania ich. Profil nadaje się przy exporcie do formatu graficznego.

Odnośnik do komentarza
Udostępnij na innych stronach

1 godzinę temu, MateuszW napisał:

Ale jak to się ma do astrofoto? Przecież kamera astro nie ma żadnej unormowanej przestrzeni barw, generuje pliki surowe, gdzie każdy kanał zapisany jest na 16 bitach i już. Nie ma tu określonej przestrzeni, nie ma żadnego profilu. Teraz wrzucając plik do programu "narzucamy" mu jakąś przestrzeń. Moim zdaniem, jeśli wybierzemy Adobe RGB, to po prostu kolor będzie rozciągnięty na szerszej palecie, którą wyświetli lepszy monitor. Jeśli damy sRGB, to kolor będzie "zgnieciony" w nieco mniejszym obszarze, ale będzie zawierał tyle samo odcieni (16 bi na kanał).

Nie należy mylić "głębi koloru" (np. 16-bitowy) z pojęciem przestrzeni barwnej. Przestrzeń barwna reprezentuje obszar który opisujemy, a głębia - sposób ("precyzję") jego opisu. Przy pomocy tego samego 16-bitowego zapisu można opisać wartości kolorystyczne mieszczące się w węższej lub szerszej przestrzeni barwnej. I na odwrót - wartości barwne pozostające w tej samej przestrzeni można opisać z większą lub mniejszą dokładnością stosując zapis 16-bitowy albo np. 2-bitowy. Dlatego nie jest obojętne w jaki przestrzeni pracujemy i pocieszanie się, że stale pozostajemy z tym samym, 16-bitowym "narzędziem opisu" w ręku jest mylące i omija istotę problemu.

 

Można to przyrównać do kartki papieru i narzędzia rysunkowego. Można rysować precyzyjnym ołówkiem lub grubym węglem artystycznym (narzędzie to odpowiednik naszej głębi koloru), uzyskując różną precyzję detalu. Ale sama kartka (odpowiednik przestrzeni barwnej) też może być większa lub mniejsza. Jeśli obraz zapisany na kartce A3 zmniejszymy przy zapisie do rozmiaru A5, to stracimy bezpowrotnie część szczegółów - i to samo jest z kolorami. Potem można już tylko sztucznie "rozdmuchiwać" ponownie rozmiary, ekstrapolując i interpolując wartości przy pomocy algorytmu.

Edytowane przez lulu
Odnośnik do komentarza
Udostępnij na innych stronach

To na prawdę proste jak kartka i ołówek. Albo inne porównanie. Przestrzeń barwna niech nadal pozostanie kartką, a głębia koloru to np. rozdzielczość matrycy aparatu którym ją fotografujemy. Kartka może być większa lub mniejsza i pomieścić więcej lub mniej szczegółów, a narzędzie za pomocą którego ją rejestrujemy odda bardziej lub mniej precyzyjnie ten "stan faktyczny".

Edytowane przez lulu
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.