Twoim zadaniem jest zrobienie zdjęcia sRGB 24 BPP i przesłanie tego samego obrazu w 3-krotnym powiększeniu do subpikseli czerwonych, zielonych i niebieskich. Powstały obraz zostanie w całości wykonany z czystych czarnych, czerwonych, zielonych i niebieskich pikseli.
Każdy piksel z obrazu źródłowego po powiększeniu tworzy układ 9 subpikseli, które można włączyć lub wyłączyć (tj. Ich odpowiedni kolor lub czerń). Konkretne ustawienie wykorzystuje trzy kolumny: czerwony, zielony i niebieski, w tej kolejności, w następujący sposób:
(Pamiętaj, że obramowania tych „pikseli” służą wyłącznie do celów demonstracyjnych).
Ponieważ każdy z dziewięciu subpikseli może być włączony lub wyłączony, będziesz musiał skwantyzować obraz wejściowy i użyć różnych wzorów subpikseli, aby osiągnąć 3 poziomy jasności.
Dla każdego podpiksela na obrazie:
- W przypadku poziomów kolorów 0–74 wszystkie subpiksele powinny być czarne.
- Dla poziomów koloru 75-134 środkowy podpiksel powinien mieć odpowiedni kolor, a pozostałe dwa powinny być czarne.
- Dla poziomów koloru 135-179 środkowy podpiksel powinien być czarny, a pozostałe dwa powinny mieć odpowiedni kolor
- Dla poziomów kolorów 180–255 wszystkie trzy subpiksele powinny mieć odpowiedni kolor
Wybrałem te zakresy poziomów, ponieważ wyglądały dobrze
Zastosuj tę transformację do każdego piksela w obrazie i wyślij obraz w powiększeniu subpikseli.
Przykłady pojedynczych pikseli
rgb (40, 130, 175) wygeneruje ten wzór:
rgb (160, 240, 100) wygeneruje ten wzór:
Przykłady pełnego obrazu
Obrazy pochodzą z Wikipedii
Zasady i notatki
- Dane wejściowe i wyjściowe mogą być w dowolnym dogodnym formacie, niezależnie od tego, czy są to rzeczywiste pliki obrazów, czy (ewentualnie zagnieżdżone) listy wartości RGB.
- Możesz założyć, że piksele znajdują się w przestrzeni kolorów sRGB z 24BPP.
Miłej gry w golfa!