Jeśli obraz 24-bitowy RGB z zakresem 0–255 na kanał jest wyświetlany na ekranie telewizora o zakresie około. 16-235 na kanał, szczegóły kolorów zostaną utracone, prawda?
Jeśli tak, to czy obrazy powinny być wstępnie przetworzone w celu przechowywania tylko prawidłowego zakresu? Chciałbym to zrobić za pomocą kodu, a nie w aplikacji do edycji zdjęć. Nieco pamiętam, że mapowanie liniowe nie jest najlepszym sposobem na zrobienie tego, ale niestety nie mogę znaleźć artykułu, który czytałem! Jak nazywa się ten proces? Jakie inne szczegóły muszę wiedzieć?
Mapowanie liniowe nie jest prawdopodobnie najlepszym rozwiązaniem (które moim zdaniem obejmuje konwersję RGB do przestrzeni kolorów CIE , skalowanie tam i konwersję wstecz), ale jest bardzo łatwe do wdrożenia, a różnica zasięgu jest na tyle mała, że prawdopodobnie nie będzie miała znaczenia .
Jeśli użyjesz SOIL , może to zrobić automatycznie podczas ładowania obrazu, przekazując SOIL_FLAG_NTSC_SAFE_RGB do funkcji ładowania.
Dokumentacja Microsoftu nakazuje zacisnąć i zaleca robienie tego w module cieniującym piksele. (Skalowanie liniowe powinno być również łatwe w jednym.) Wspomina także indeksowanie chrominancji, co z mojego doświadczenia jest znacznie bardziej irytującym zjawiskiem podczas pracy na ekranach telewizyjnych.
źródło