Ranglarni kodlash
Agar rasm rangli bo'lsa, nima qilish kerak? Bunday holda, piksel rangini kodlash uchun bitta bit bilan bajarib bo'lmaydi. Masalan, Rossiya bayrog'idagi rasmda $ 4 ko'rsatilgan, ranglar: qora, ko'k, qizil va oq. To'rt variantdan birini kodlash uchun sizga $ 2 $ bit kerak bo'ladi, shuning uchun har bir rang uchun kod (va har bir piksel uchun kod) ikkita bitdan iborat bo'ladi. $ 00 $ qora, $ 01 $ qizil, $ 10 $ ko'k va $ 11 $ oq rangda berilsin. Keyin quyidagi jadvalni olamiz:
4-rasm
Faqatgina muammo shundaki, siz ekranda qanday rangni u yoki boshqa kodga mos kelishini aniqlashingiz kerak. Ya'ni, rang ma'lumotlarini raqam (yoki raqamlar to'plami) shaklida ifodalash kerak.
Biror kishi yorug'likni ko'p sonli elektromagnit to'lqinlar sifatida qabul qiladi. Muayyan to'lqin uzunligi ma'lum bir rangga mos keladi. Masalan, uzunligi 500-565 $ nm bo'lgan to'lqinlar yashil rangda. "Oq" deb nomlangan yorug'lik aslida to'lqinlar aralashmasidir, ularning uzunligi butun ko'rinadigan diapazonni qamrab oladi.
Rangni ko'rishning zamonaviy kontseptsiyasiga ko'ra (Jung-Xelmxolts nazariyasi), inson ko'zida uchta turdagi sezgir elementlar mavjud. Ularning har biri butun yorug'lik oqimini sezadi, ammo birinchisi qizil mintaqada, ikkinchisi yashil mintaqada va uchinchisi ko'k mintaqada sezgir. Rang har uchala retseptorlarning qo'zg'alishi natijasidir. Shuning uchun har qanday rangni (ya'ni ma'lum bir uzunlikdagi to'lqinlarni sezadigan odamning his-tuyg'ularini) har xil yorqinlikdagi uchta yorug'lik nurlari (qizil, yashil va ko'k) yordamida taqlid qilish mumkin, deb ishoniladi. Shuning uchun har qanday rang taxminan uchta tarkibiy qismga bo'linadi - qizil, yashil va ko'k. Ushbu tarkibiy qismlarning kuchini o'zgartirib, siz har qanday ranglarni yaratishingiz mumkin. Ushbu rang modeli inglizcha qizil (qizil), yashil (yashil) va ko'k (ko'k) so'zlarining bosh harflari bilan RGB deb nomlanadi.
RBG modelida har bir tarkibiy qismning yorqinligi (yoki ular aytgandek har bir kanal) ko'pincha 0 dan $ 255 $ gacha butun son sifatida kodlanadi. Bunday holda, rang kodi - bu raqamlarning uch barobar ko'payishi (R, G, B), individual kanallarning yorqinligi. Rangi ($ 0,0,0 $) qora, va ($ 255 255 255) oq rangda. Agar barcha tarkibiy qismlar teng yorqinlikda bo'lsa, qora rangdan oqgacha kul ranglar olinadi.
5-rasm
Och qizil (pushti) rang berish uchun siz yashil va ko'k kanallarning yorqinligini teng ravishda qizil rangga (255.0.0 dollar) oshirishingiz kerak, masalan, rang ($ 255, 150, $ 150) pushti rangda. Barcha kanallarning ravshanligining bir tekis pasayishi quyuq rangni yaratadi, masalan kod bilan rang ($ 100.0.0 $) to'q qizil rangga ega.
Jami uchta rangning har biri uchun $ 256 $ nashrida variantlari mavjud. Bu sizga $ 256 ^ 3 \u003d 16,777,216 $ soyalarni kodlash imkonini beradi, bu bir kishi uchun etarli darajada. $ 256 \u003d 2 ^ 8 $ bo'lganligi sababli, uchta komponentning har biri xotirada $ 8 $ yoki $ 1 $ baytni egallaydi va rang haqidagi barcha ma'lumotlar $ 24 $ bit (yoki $ 3 $ bayt) ni tashkil etadi. Ushbu qiymat ranglarning chuqurligi deb nomlanadi.
3-ta'rif
Do'stlaringiz bilan baham: |