Өнгөний кодчилол. График мэдээллийн кодчилол_10 анги_Компьютерийн шинжлэх ухааны хичээл Үнэн өнгөний горим гэж юу вэ

Android-д зориулсан 05.02.2021
Android-д зориулсан

24 битийн өнгө(энэ нь дэд олонлог юм жинхэнэ өнгө Англи "жинхэнэ өнгө") компьютер графикт - олон тооны өнгө, хагас өнгө, сүүдрийг харуулах боломжийг олгодог зургийг дүрслэх, хадгалах арга. Өнгө нь RGB загварын улаан(R), ногоон(G), хөх(B) гэсэн гурван бүрэлдэхүүн хэсэг тус бүрд 256 түвшинг ашиглан дүрслэгдсэн бөгөөд 16,777,216 (224) өөр өнгө үүсдэг.

32 битийн TrueColor нь тунгалаг цонх, бүдгэрсэн цэс, сүүдэр гэх мэт тунгалаг зургуудыг харуулах пикселийн тунгалаг байдлын зэргийг тохируулдаг альфа сувгийг хадгалах боломжтой. Зарим видео адаптерууд техник хангамжид альфа сувгийг боловсруулах чадвартай байдаг.

Сигналыг дижитал болгох битийн тоо

Та дохиог дижитал хэлбэрт оруулахдаа (сканнер эсвэл дижитал камераар) битийн тоог, дэлгэц дээр хадгалах, харуулахдаа битийн тоог андуурч болохгүй.

Нэг сувагт 256 түвшинтэй өнгийг гамма-засварласан хэлбэрээр хадгалдаг бол шугаман дохиог камерын пикселээс дижитал хэлбэрт шилжүүлдэг. Энэ нь ихэвчлэн түүхий камерын өгөгдөлд Raw форматаар хадгалагддаг.

"TrueColor" нийтлэлийн талаар сэтгэгдэл бичих

Тэмдэглэл

TrueColor-ийг тодорхойлсон ишлэл

Гүнж зочлохдоо маш залхсан тул өөр хэнийг ч хүлээж авахыг тушаадаггүй бөгөөд ачигч нь баяр хүргэсэн бүх хүмүүсийг заавал хоол идэхийг дуудахыг л тушаажээ. Гүнж Петербургээс ирснээсээ хойш сайн уулзаагүй бага насны найз гүнж Анна Михайловнатай нүүр тулан ярилцахыг хүссэн юм. Анна Михайловна нулимстай, тааламжтай царайгаараа гүнгийн сандал руу ойртлоо.
"Би чамтай илэн далангүй байх болно" гэж Анна Михайловна хэлэв. "Биднээс олон хүн үлдсэнгүй, хуучин найзууд аа!" Тийм учраас би чиний нөхөрлөлийг эрхэмлэдэг.
Анна Михайловна Вера руу хараад зогсов. Гүнж найзтайгаа гар барив.
"Вера" гэж гүнгийн хатагтай том охиндоо хандсан нь илт хайргүй байв. Яаж мэдэхгүй юм бэ? Чи энд байхгүй юм шиг санагдахгүй байна уу? Эгч нар дээрээ оч, эсвэл...
Үзэсгэлэнт Вера үл тоомсорлон инээмсэглэсэн нь өчүүхэн ч доромжлолыг мэдрээгүй бололтой.
"Ээжээ та надад аль эрт хэлсэн бол би шууд явах байсан" гэж хэлээд өрөөндөө оров.
Гэвч буйдангийн хажуугаар өнгөрөхдөө тэр хоёр цонхны дэргэд хоёр хос тэгш хэмтэй сууж байгааг анзаарав. Тэр зогсоод үл тоомсорлон инээмсэглэв. Анх удаа зохиосон шүлгээ түүнд зориулж хуулж байсан Николайгийн дэргэд Соня ойрхон сууж байв. Борис, Наташа хоёр нөгөө цонхны дэргэд сууж байгаад Вера ороход чимээгүй болов. Соня, Наташа хоёр Вера руу буруутай, аз жаргалтай царайгаар харав.
Эдгээр охидыг дурлаж харах нь хөгжилтэй, сэтгэл хөдөлгөм байсан ч тэднийг харах нь Верад тийм ч таатай мэдрэмжийг төрүүлээгүй нь ойлгомжтой.
“Би чамаас хэдэн удаа гуйсан юм бэ, миний юмыг битгий аваарай, чамд өөрийн гэсэн өрөө байгаа.
Тэр Николайгаас бэхний савыг авав.
"Одоо, одоо" гэж тэр үзгээ норгоод хэлэв.
"Чи бүгдийг буруу цагт яаж хийхийг мэддэг" гэж Вера хэлэв. - Дараа нь тэд зочны өрөөнд гүйж орсон тул бүгд чамаас ичсэн.
Хэдийгээр түүний хэлсэн үг үнэхээр үнэн байсан ч түүнд хэн ч хариулсангүй, дөрөв нь зөвхөн бие бие рүүгээ харав. Тэр гартаа бэхний сав барин өрөөнд эргэлзэв.

а) б)

Зураг 6.3 - Растер зураг

а) растер; б) загварын загварчлал

Bitmap нь квадрат пикселийн цуглуулга юм. Талбайн хэмжээг тодорхойлно тогтоол. Нарийвчлал гэдэг нь зургийн нэгжид ногдох пикселийн тоо юм. Нарийвчлалыг нэг инч тутамд пикселээр хэмждэг. ppi - инч тутамд пиксел. Жишээлбэл, 254 ppi нарийвчлал нь нэг инч тутамд 254 пиксел (25.4 мм) байна гэсэн үг бөгөөд пиксел бүр нь 0.1 ∙ 0.1 мм хэмжээтэй байна. Нарийвчлал өндөр байх тусам загварыг илүү нарийвчлалтай (тодорхой) загварчлах болно.

6.2 Өнгөний кодчилол

Пиксел бүрийг өнгөөр ​​кодлодог. Жишээлбэл, хар ба цагаан зургийн хувьд цагаан нь 1, хар нь 0. Дараа нь 6.3-р зургийг 4 матрицаар кодлож болно. 9, кодоор дүүргэсэн эхний гурван мөрийг доор харуулав.

Хэрэв зураг өнгөт байвал яах вэ? Жишээлбэл, хар, цагаан, улаан, цэнхэр гэсэн 4 өнгийг ашигладаг тугны зураг (Зураг 6.4, а). Өнгөт зургийг хавсаргав.

цэнхэр
улаан

Зураг 6.4 - Өнгөт битмап кодчилол;

а) растер зураг; б) хэв маягийг кодлох матриц

Дөрвөн өнгөний аль нэгийг кодлоход 2 бит шаардагдах тул өнгө бүрийн код (мөн пиксел бүрийн код) хоёр битээс бүрдэнэ. 00 нь хар, 01 нь улаан, 10 нь цэнхэр, 11 нь цагаан байна. Дараа нь бид кодын хүснэгтийг авна (Зураг 6.4, b).

6.2.1 Дэлгэцийн өнгөний кодчилол

Ямар ч байсан гэж үздэг цацруулсанӨнгө нь өөр өөр гэрэлтэй гурван гэрлийн цацраг (улаан, ногоон, цэнхэр) ашиглан дууриаж болно. Тиймээс аливаа өнгө ("цагаан" гэх мэт) нь ойролцоогоор улаан, ногоон, цэнхэр гэсэн гурван бүрэлдэхүүн хэсэгт задардаг. Эдгээр бүрэлдэхүүн хэсгүүдийн тод байдлыг өөрчилснөөр та ямар ч өнгө хийж болно. Энэхүү өнгөт загварыг англи үгсийн эхний үсгийн нэрээр RGB гэж нэрлэсэн. улаан- улаан, ногоон- ногоон ба цэнхэр- цэнхэр (Зураг 6.5, а). Өнгөт зургийг хавсралтад өгсөн болно.



RGB загварт бүрэлдэхүүн хэсэг бүрийн тод байдлыг ихэвчлэн 0-ээс 255 хүртэлх бүхэл тоогоор кодлодог. Энэ тохиолдолд өнгөт код нь тоонуудын гурвалсан (R, G, B), бие даасан бүрэлдэхүүн хэсгүүдийн тод байдал юм. Өнгө (0,0,0) хар, (255,255,255) цагаан байна. Хэрэв бүх бүрэлдэхүүн хэсгүүд ижил гэрэлтэй байвал хараас цагаан хүртэл саарал өнгийн сүүдэр олж авна. Жишээлбэл, (75,75,75) хар саарал, (175,175,175) цайвар саарал байна.

Цайвар улаан (ягаан) өнгө болгохын тулд та ногоон, цэнхэр өнгөний тод байдлыг улаан (255,0,0) тэнцүү хэмжээгээр нэмэгдүүлэх хэрэгтэй, жишээлбэл, (255, 155, 155) ягаан өнгөтэй байна. Үүнийг MSWord редактор дээр шалгаж болно. хэрэгсэл - текстийн өнгө - бусад өнгө ... - спектр(Зураг 6.5, b).

а) б)


Зураг 6.5 - RGB өнгөт загвар;

a) RGB загвар; б) MSWord дахь текстийн өнгөт хэрэгсэл

Зарим өнгөний кодыг доорх Хүснэгт 6.1-д үзүүлэв.

Хүснэгт 6.1 - Өнгөний кодууд

Гурван өнгө тус бүрийн хувьд нийтдээ 256 гэрэлтүүлгийн сонголттой. Энэ нь 256 3 = 16,777,216 сүүдрийг (16 сая гаруй) кодлох боломжтой болгодог бөгөөд энэ нь хүний ​​хувьд хангалттай юм. Учир нь
256 = 2 8 , гурван бүрэлдэхүүн хэсэг тус бүр нь санах ойд 8 бит буюу нэг байт эзэлдэг бөгөөд зарим өнгөний талаархи бүх мэдээлэл 24 бит (эсвэл гурван байт) байна. Энэ утгыг гэж нэрлэдэг өнгөний гүн.



Өнгөний гүннь пикселийн өнгийг кодлоход ашигладаг битийн тоо юм.

Пиксел бүр нь 1 битээс 3 байт видео санах ойг хуваарилдаг ( дүрс нь видео санах ойд үүсдэг). Жишээлбэл:

Monochrome горим, 2 өнгө (хар цагаан) - 1 бит (Зураг 6.3, b).

Өнгөний горим, 8 өнгө - 3 бит. улаан = 0; 1. Ногоон=0; 1. Цэнхэр=0; 1. RGB= 2 3 = 8.

Өнгөний горим, 16 өнгө - 4 бит; би = 0; 1 - эрчим (тод, бүдэг); i RGB = 2∙2 3 = 2 4 = 16 (хүснэгт 6.2).

Өнгөний горим, 256 өнгө - 8 бит; би = 00000 ,…, 11111 = = 2 5 = 32 эрчмийн зэрэглэл; би RGB = 2 5 * 2 3 = 2 8 = 256.

Эсвэл 2 эрчмийн зэрэглэл, 2 RGB өнгө
би 2 R 2 G 2 B 2 \u003d 4 * 4 * 4 * 4 \u003d 2 8 \u003d 256 (хүснэгт 6.3).

Өнгөний горим, 16 сая өнгө - 3 байт = 24 бит
(Зураг 6.5, b).

Хүснэгт 6.2 - 16 өнгө үүсэх кодууд

Өнгө би RGB
Хар (хар)
Цэнхэр (цэнхэр)
Ногоон (ногоон)
Цэнхэр (цэнхэр ногоон)
Улаан (улаан)
Магента (ягаан)
Хүрэн (бор)
Цайвар саарал (цайвар саарал)
Хар саарал (хар саарал)
Цайвар цэнхэр (цэнхэр)
Цайвар ногоон (тод ногоон)
Цайвар цэнхэр (оюу)
Цайвар улаан (тод улаан)
Цайвар ягаан (ягаан)
Шар (шар)
Цагаан (цагаан)

Хүснэгт 6.3 - 256 өнгө үүсэх кодууд

би Р Г Б
∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙

24 битийн өнгөний кодчилолыг ихэвчлэн горим гэж нэрлэдэг жинхэнэ өнгө(Англи) жинхэнэ өнгө- жинхэнэ өнгө). Энэхүү кодчилолоор зургийн хэмжээг байтаар тооцоолохын тулд пиксел бүрийн өнгийг гурван байтаар кодлодог тул нийт пикселийн тоог (өргөн ба өндрийг үржүүлж) тодорхойлж, үр дүнг 3-аар үржүүлэх хэрэгтэй. Жишээлбэл, truecolor горимд кодлогдсон 20x30 пикселийн хэмжээтэй зураг 20x30x3 = 1800 байт эзэлнэ.

Жинхэнэ өнгөний горимоос гадна 16 битийн кодчилолыг бас ашигладаг (eng. өндөр өнгө- "өндөр" өнгө), хүний ​​нүд илүү мэдрэмтгий байдаг улаан, цэнхэр бүрэлдэхүүн хэсгүүдэд таван бит, ногоонд зургаан бит хуваарилагдсан үед (нийт 16 бит). Өндөр өнгө горимд 2 16 = 65536 өөр өнгийг кодлох боломжтой. Гар утсанд 12 битийн өнгөний кодчилол (бүрэлдэхүүн бүрд 4 бит, 2 12 = 4096 өнгө).

Өнгөний гүн ба үүссэн өнгөний тоо хоорондын хамаарлыг Хүснэгт 6.4-т үзүүлэв.

Хүснэгт 6.4 - Өнгөний гүн ба өнгөний тоо

Ерөнхийдөө цөөн өнгө хэрэглэх тусам өнгөт дүрс илүү их гажигтай болно. Тиймээс өнгийг кодлох үед түүвэрлэлтийн улмаас үүссэн алдагдал дээр "нэмэгдэх" мэдээллийн зайлшгүй алдагдах тохиолдол гардаг. Загварыг дөрвөлжин пикселийн багцаар солих үед ялгавартай байдал үүсдэг. Гэсэн хэдий ч ашигласан өнгөний тоо нэмэгдэхийн хэрээр файлын хэмжээ нэгэн зэрэг нэмэгддэг. Жишээлбэл, горимд жинхэнэ өнгөфайл нь 2 дахин том байх болно
12 битийн кодчилол.

Ихэнхдээ (жишээлбэл, диаграмм, диаграмм, зураг дээр) зураг дээрх өнгөний тоо бага (256-аас ихгүй) байдаг. Энэ тохиолдолд хэрэглэнэ палитр кодчилол.

Өнгөт палитр RGB загварын бүрэлдэхүүн хэсэг болгон тодорхойлсон өнгө бүрд тоон код өгөгдсөн хүснэгт юм.

Палетт хэмжээнь палитрын өнгийг харуулсан байтуудын тоо юм.

Жишээлбэл, хар цагаан палитр, зөвхөн 2 өнгө (Зураг 6.3):

ü хар: RGB код (0,0,0); хоёртын код 0 2 ;

ü цагаан: RGB код (255,255,255); хоёртын код 1 2 .

Энд палитрын хэмжээ 6 байт байна.

Туг зургийн кодчилол, дөрвөн өнгө (Зураг 6.4):

ü хар: RGB код (0,0,0); хоёртын код 00 2 ;

ü улаан: RGB код (255,0,0); хоёртын код 01 2;

ü цэнхэр: RGB код (0,0,255); хоёртын код 10 2 ;

ü цагаан: RGB код (255,255,255); хоёртын код 11 2 .

Энд палитрын хэмжээ 12 байт байна.

Палитраар кодлох зарим хувилбаруудын талаархи мэдээллийг доор харуулав (Хүснэгт 6.5).

Хүснэгт 6.5 - Палетт бүхий кодлох сонголтууд

Хяналтын дэлгэцийн мэдэгдэж буй шинж чанаруудыг (дэлгэцийн нягтрал ба пикселийн өнгөний тоо) харгалзан өндөр чанартай дүрс үүсгэхийн тулд видео санах ойн хамгийн бага хэмжээг тооцоолж болно (Хүснэгт 6.6).

Хүснэгт 6.6 - Видео санах ойн хэмжээ

6.2.2 Цаасан дээрх өнгөний кодчилол

RGB кодчилол нь дэлгэц эсвэл зөөврийн компьютерын дэлгэц гэх мэт зарим төхөөрөмжөөс ялгарах өнгийг хамгийн сайн тодорхойлдог. Цаасан дээр хэвлэсэн зургийг харахад байдал огт өөр байна. Бид нүд рүү орж буй эх үүсвэрийн шууд туяаг хардаггүй, харин гадаргуугаас туссан байдаг. Бүх харагдахуйц долгионыг агуулсан зарим эх үүсвэрээс (нар, гэрлийн чийдэн) "цагаан гэрэл" будаг түрхсэн цаасан дээр унадаг. Будаг нь зарим цацрагийг шингээдэг (тэдгээрийн энерги нь цаасыг халаахад зарцуулагддаг), үлдсэн туссан өнгө нь нүд рүү унадаг, энэ бол бидний харж буй өнгө юм.

Жишээлбэл, будаг нь улаан туяаг шингээдэг бол зөвхөн цэнхэр, ногоон өнгөтэй байдаг - бид цэнхэр өнгийг хардаг. Энэ утгаараа улаан, цэнхэр өнгө нь ногоон-ягаан, хөх-шар өнгийн хос шиг бие биенээ нөхдөг. Үнэхээр цагаанаас ногооныг "хасавал" нил ягаан өнгөтэй, хөхийг "хасавал" шар өнгөтэй болно.

Өнгөний синонимыг анхаарна уу: ягаан = ягаан.

Ослын болон туссан өнгөний харьцааг доор үзүүлэв (Хүснэгт 6.7).

Хүснэгт 6.7 - Ослын болон туссан өнгөний харьцаа

Цэнхэр, ягаан, шар гэсэн гурван нэмэлт өнгийг өнгөт загвар бүтээхэд ашигладаг. CMY(Англи) цэнхэр- цэнхэр, Магента- ягаан, Шар- шар), хэвлэхэд ашигладаг (Зураг 6.6, b). Тиймээс RGB болон CMY өнгөт загварууд нь буцах боломжтой (Зураг 6.7). Өнгөт зургийг программд харуулав.

Зураг 6.6 - Өнгөт загварууд;

a) RGB загвар (мониторын хувьд); б) CMY загвар (хэвлэгчийн хувьд)

Зураг 6.7 - Урвуу өнгөт загварууд

C=M=Y=0 гэсэн утгууд нь цагаан цаасан дээр байгааг харуулж байна
будаг түрхээгүй тул бүх туяа туссан, цагаан өнгөтэй байна.

Цэнхэр, нил ягаан, шар өнгийн будаг хэрэглэх үед онолын хувьд хар өнгөтэй байх ёстой (Зураг 6.6, b), бүх цацрагийг шингээдэг. Гэсэн хэдий ч практик дээр өнгө нь төгс биш тул хар биш харин бохир хүрэн өнгөтэй болдог. Нэмж дурдахад, хар хэсгүүдийг хэвлэхдээ бэхний гурвалсан хэсгийг нэг газар "цутгах" хэрэгтэй. Ихэнхдээ хар текстийг принтер дээр хэвлэдэг бөгөөд өнгөт бэх нь хараас хамаагүй үнэтэй байдаг гэдгийг санах нь зүйтэй.

Энэ асуудлыг шийдэхийн тулд будгийн багцад хар өнгө нэмдэг бөгөөд үүнийг гэж нэрлэдэг түлхүүрөнгө (Англи) Түлхүүр өнгө), иймээс үүссэн загварыг тэмдэглэнэ CMYK.

RGB болон CMY (CMYK) өнгөт загваруудаас гадна бусад загварууд байдаг. Тэдний хамгийн сонирхолтой нь загвар юм HSB(Англи хэл Hue - өнгө аяс, сүүдэр; Saturation - ханалт, Brightness - тод байдал) нь хүний ​​байгалийн ойлголтод хамгийн ойр байдаг. Hue нь жишээлбэл хөх, ногоон, шар өнгөтэй. Ханалт нь өнгөний цэвэр байдал бөгөөд ханалтыг тэг болгож бууруулснаар саарал өнгөтэй болно. Гэрэлтүүлэг нь өнгө хэр цайвар эсвэл бараан байхыг тодорхойлдог. Гэрэлтүүлэг тэг болж буурахад ямар ч өнгө хар өнгөтэй болдог.

6.3 Битмап кодчилолын онцлог

Растер кодчилолоор зургийг пиксел (дискрет) болгон хуваадаг. Пиксел бүрийн хувьд өнгө нь тодорхойлогддог бөгөөд энэ нь ихэвчлэн RGB код ашиглан кодлогддог.

Растер кодчилол байдаг нэр төр:

ü бүх нийтийн арга (ямар ч зургийг кодлох боломжтой);

ü гэрэл зураг гэх мэт тодорхой хил хязгааргүй бүдгэрсэн зургийг кодлох, боловсруулах цорын ганц арга;

болон хязгаарлалт:

ü ялгах явцад мэдээлэл үргэлж алдагддаг;

ü зургийн хэмжээг өөрчлөх үед зураг дээрх объектын өнгө, хэлбэр гажигтай тул хэмжээг нэмэгдүүлэх үед дутуу пикселийг ямар нэгэн байдлаар сэргээх шаардлагатай бөгөөд багасгах үед хэд хэдэн пикселийг нэгээр солих шаардлагатай болдог;

ü файлын хэмжээ нь зургийн нарийн төвөгтэй байдлаас хамаардаггүй, зөвхөн нягтрал, өнгөний гүнээр тодорхойлогддог; Дүрмээр бол растер зураг нь том хэмжээтэй байдаг.

Растер зургийн олон янзын формат байдаг. Хамгийн түгээмэл файлын нэрийн өргөтгөлүүд нь:

.bmp(eng. bitmap - bitmap) - Windows үйлдлийн систем дэх стандарт формат; палетт болон truecolor кодчилолыг дэмждэг;

.jpgэсвэл .jpeg(eng. Joint Photographic Experts Group - мэргэжлийн гэрэл зурагчдын хамтарсан бүлэг) - гэрэл зургийг кодлоход тусгайлан зориулсан формат; зөвхөн жинхэнэ өнгөний горимыг дэмждэг; файлын хэмжээг багасгахын тулд зураг бага зэрэг гажсан хүчтэй шахалтыг ашигладаг тул тодорхой хил хязгаартай зураг зурахад ашиглахыг зөвлөдөггүй;

.gif(eng. Graphics Interchange Format - зураг солилцох формат) - зөвхөн палитраар кодлохыг дэмждэг формат (2-оос 256 өнгө хүртэл); өмнөх форматаас ялгаатай нь зургийн хэсэг нь ил тод байж болно; орчин үеийн хувилбарт та хөдөлгөөнт дүрсийг хадгалах боломжтой; алдагдалгүй шахалтыг ашигладаг, өөрөөр хэлбэл шахалтын үед зураг гажууддаггүй;

.png(Англи хэлний зөөврийн сүлжээний график - зөөврийн сүлжээний зураг) - жинхэнэ өнгөний горим болон палитр кодчилолыг хоёуланг нь дэмждэг формат; зургийн хэсэг нь ил тод, бүр хагас тунгалаг байж болно (32 битийн RGBA кодчилол, дөрөв дэх байт нь ил тод байдлыг тодорхойлдог); зураг нь гажуудалгүйгээр шахагдсан; хөдөлгөөнт дүрсийг дэмждэггүй.

6.4 Файлын кодчилолын тухай тэмдэглэл

Өмнө нь бүх төрлийн мэдээллийг компьютерийн санах ойд хоёртын код хэлбэрээр, өөрөөр хэлбэл тэг ба нэгийн гинж хэлбэрээр хадгалдаг гэж хэлсэн. Ийм гинжийг хүлээн авснаар үүнийг текст, зураг, дуу, видео гэж хэлэх боломжгүй юм. Жишээлбэл, 11001000 2 код нь 200 тоо, жинхэнэ өнгөний горим дахь пикселийн өнгөт бүрэлдэхүүн хэсгүүдийн нэг болох "I" үсэг, 256 өнгийн палитр бүхий зургийн палитр дахь өнгөний дугаар, өнгө зэргийг илэрхийлж болно. Хар ба цагаан зургийн 8 пиксел гэх мэт. Компьютер хоёртын өгөгдлийг хэрхэн ойлгодог вэ? Юуны өмнө та файлын нэрийн өргөтгөл дээр анхаарлаа хандуулах хэрэгтэй. Жишээлбэл, ихэвчлэн .txt файлууд нь текст агуулдаг бол .bmp, .gif, .jpg, .png өргөтгөлтэй файлууд нь зураг агуулдаг.

Гэхдээ файлын өргөтгөлийг хүссэнээрээ өөрчилж болно. Жишээлбэл, та текст файлыг .bmp өргөтгөлтэй, JPEG зургийг .txt өргөтгөлтэй болгож болно. Тиймээс, тусгай форматтай бүх файлын эхэнд (энгийн текст, .txt-аас бусад) толгой бичигдсэн бөгөөд түүгээр та файлын төрөл болон түүний шинж чанарыг "таних" боломжтой. Жишээлбэл, BMP файлууд нь "BM" тэмдэгтээр, GIF файлууд нь "GIF" тэмдэгтүүдээс эхэлдэг. Нэмж дурдахад гарчиг нь зургийн хэмжээ, түүний шинж чанар, тухайлбал палитр дахь өнгөний тоо, шахалтын арга гэх мэтийг заана. Энэхүү мэдээллийг ашиглан программ нь файлын үндсэн хэсгийг тайлж, дэлгэцэн дээр харуулна.

6.5 Асуулт, даалгавар

1. Компьютерийн технологид зургийн кодлох хоёр зарчим юу вэ?

2. Яагаад бүх нөхцөл байдалд тохирсон зургийг кодлох ганц аргыг гаргаж чадахгүй байна вэ?

3. Растер кодчилол ямар санаа вэ?
Растер гэж юу вэ?

4. Вектор кодчилолын цаад санаа юу вэ? График команд гэж юу вэ?

5. Пиксел гэж юу вэ? Ийм үг яаж гарч ирсэн бэ?

6. Загвар ялгах гэж юу вэ? Яагаад шаардлагатай гэж?

7. Зургийг ялгахад юу алдагддаг вэ?

8. Ямар нягтралтай вэ (дэлгэц, принтер)? Үүнийг ямар нэгжээр хэмждэг вэ?

9. Өнгөний гүн гэж юу вэ? Ямар нэгжид байна
хэмжсэн үү?

10. Жинхэнэ өнгөний горим гэж юу вэ?

11. High Color горим гэж юу вэ?

12. Палетт кодчилол гэж юу вэ? Түүний жинхэнэ өнгөний горимоос үндсэн ялгаа нь юу вэ?

13. Растер кодчилолын давуу болон сул талууд юу вэ?

14. Вектор кодчилолын давуу болон сул талууд юу вэ?

15. Зургийг ямар форматаар хадгалах нь зүйтэй вэ?

16. Тодорхой хил хязгаартай зураг, зургийг ямар хэлбэрээр хадгалахыг зөвлөж байна вэ?

17. Дараагийн зургийн кодыг хэрхэн бичих вэ? Хар ба цагаан битмап нь зүүн дээд талаас эхэлж баруун доод талд дуусдаг мөр мөрөөр кодлогдсон байна. Шифрлэгдсэн үед 0 нь хар, 1 нь цагаан гэсэн утгатай.

Шийдэл. Зургийн кодын оруулга дараах байдалтай байна.

010100 011111 101010 011101 = 010100011111101010011101 2 =

24375235 8 = 51ФАД 16 .


Ашигласан эх сурвалжуудын жагсаалт

1. Андреева E. V. Мэдээлэл зүйн математик үндэс: сурах бичиг. тэтгэмж / E. V. Андреева, L. L. Bosova, I. N. Фалина. - М.: БИНОМ. Мэдлэгийн лаборатори, 2007 он.

2. Поспелов D. A. Дискрет үйлдэлтэй компьютерийн арифметик үндэслэл / D. A. Поспелов. - М .: Эрчим хүч, 1970.

3. Савельев A. Ya. Тоон автоматын арифметик ба логик үндэс / A. Ya. Saveliev. - М .: Дээд сургууль, 1980 он.

4. Поздняков S. N. Дискрет математик: сурах бичиг
/ С.Н.Поздняков, С.В.Рыбин. - М.: Академи, 2008 он.

5. Хартли R. V. L. Мэдээлэл дамжуулах / R. V. L. Хартли
// Мэдээллийн онол ба түүний хэрэглээ. - М.: Физматгиз, 1959.

6. Shannon K. Харилцааны математикийн онол. (Shannon C.E. A Mathematical Theory of Communication. Bell System Technical Journal. - 1948. - х. 379-423, 623-656).

7. Юшкевич A. P. Дундад зууны үеийн математикийн түүх
/ A. P. Юшкевич. - М.: Физматгиз, 1961.

Танд ямар бэрхшээл тулгарсан бэ? Тэднийг хэрхэн даван туулах вэ?

2. 2466FF6624 16 арван зургаатын дарааллаар кодлогдсон 8 пикселийн өргөнтэй хар цагаан зургийг зур.

3. 3A53F88 16 арван зургаатын дарааллаар кодлогдсон 5 пикселийн өргөнтэй хар цагаан зургийг зур.

4. 10х15 см хэмжээтэй зургийг 300 ppi нарийвчлалтайгаар кодлодог. Энэ зургийн пикселийн тоог тооцоол. (Хариулт: ойролцоогоор 2 мегапиксел)

5. RGB кодтой (100,200,200), (30,50,200), (60,180, 20), (220, 150, 30) өнгөний зургаан талт кодыг байгуул. (Хариулт: #64C8C8, #1E32C8, #3CB414, #DC961E)

6. Та вэб хуудсанд заасан өнгийг код болгон хэрхэн нэрлэх вэ: #CCCCCC, #FFCCCC, #CCCCFF, #000066, #FF66FF, #CCFFFF, #992299, #999900, #99FF99? RGB кодын бүрэлдэхүүн хэсгүүдийн аравтын бутархай утгыг ол. (Хариулт: (204,204,204), (255,204,204), (204,204,255), (0,0,102), (255.255,102), (104,255,255), (153,34,153), (153,34,15,) (1502,15)

7. Өнгөний гүн гэж юу вэ? Өнгөний гүн ба файлын хэмжээ хэрхэн хамааралтай вэ?

8. Зурганд 65536 өнгө ашигласан бол өнгөний гүн ямар байх вэ? 256 өнгө? 16 өнгө? (Хариулт: 16 бит; 8 бит; 4 бит)

9. Шар өнгөний хувьд 12 битийн кодчилол дахь улаан, ногоон, цэнхэр бүрэлдэхүүн хэсгүүдийг олоорой. (Хариулт: R=G=15, B=0)

10. 64 өнгө ашигладаг файлд палитр хэр их зай эзэлдэг вэ? 128 өнгө?

11. 40×50 пикселийн хэмжээтэй зургийн код нь жинхэнэ өнгөний горимд хэдэн байт багтаах вэ? 256 өнгөний палитраар кодлох үед? 16 өнгөний палитраар кодлох үед? хар цагаан (хоёр өнгө)? (Хариулт: 6000, 2000, 1000, 250)

12. 80x100 пикселийн зургийн код нь нэг пикселийн кодчилолд 12 битийн багтаамжтай байх вэ? (Хариулт: 12000)

13. 32×32 пикселийн битмапыг хадгалахын тулд 512 байт санах ой хуваарилсан. Зургийн палитрт хамгийн их хэдэн өнгө байж болох вэ? (Хариулт: 16)

14. 128 х 128 пикселийн хэмжээтэй битмап зургийг хадгалахын тулд 4 килобайт санах ой хуваарилсан. Зургийн палитрт хамгийн их хэдэн өнгө байж болох вэ? (Хариулт: 4)

15. Растер график файлыг хөрвүүлэх явцад өнгөний тоо 1024-өөс 32 болж буурсан. Файлын мэдээллийн хэмжээ хэд дахин багассан бэ? (Хариулт: 2 удаа)

16. Растер график файлыг хөрвүүлэх явцад өнгөний тоо 512-оос 8 болж буурсан. Файлын мэдээллийн хэмжээ хэд дахин буурсан бэ? (Хариулт: 3 дахин)

17. Дэлгэцийн дэлгэцийн нягтрал - 1024 x 768 пиксел, өнгөний гүн - 16 бит. Энэ график горимд ямар хэмжээний видео санах ой шаардлагатай вэ? (Хариулт: 1.5 MB)

18. 256 өнгийн битмап график файлыг хар цагаан формат руу (2 өнгө) хөрвүүлсний дараа түүний хэмжээ 70 байтаар багассан. Анхны файлын хэмжээ ямар байсан бэ? (Хариулт: 80 байт)

19. 64 өнгө, 32 х 128 цэгийн битмап график дүрсийг хадгалахад хэр хэмжээний санах ой хэрэгтэй вэ? (Хариулт: 3 KB)

20. Диск дээр 1.5 МБ багтаамжтай 64 өнгийн тайлагдаагүй тэгш өнцөгт битийн зургийн өндөр нь өргөнийхээ хагастай тэнцүү бол өргөн (пикселээр) хэд вэ? (Хариулт: 2048)

21. Диск дээр 1 МБ багтаамжтай тэгш өнцөгт 16 өнгийн задалсан битийн зургийн өндөр нь өргөнөөсөө хоёр дахин их бол өргөн (пикселээр) хэд вэ? (Хариулт: 1024)

Растер, пиксел, түүвэрлэлт, нягтрал

Бүх төрлийн мэдээллийн нэгэн адил компьютер дээрх зургууд нь хоёртын дараалал хэлбэрээр кодлогдсон байдаг. Үндсэндээ өөр өөр кодлох хоёр аргыг ашигладаг бөгөөд тус бүр нь өөрийн давуу болон сул талуудтай байдаг.

Шугаман ба талбай хоёулаа хязгааргүй тооны цэгээс бүрддэг. Бид эдгээр цэг бүрийн өнгийг кодлох хэрэгтэй. Хэрэв тэд хязгааргүй олон байвал энэ нь хязгааргүй хэмжээний санах ой шаарддаг гэж бид шууд дүгнэдэг. Тиймээс зургийг "цэг цэгээр" кодлох боломжгүй. Гэсэн хэдий ч энэ санааг ашиглах боломжтой хэвээр байна.

Хар ба цагаан зургаас эхэлцгээе. Ромбыг дөрвөлжин болгон хуваасан дүрс дээр тор байрлуулсан байна гэж төсөөлөөд үз дээ. Ийм торыг растер гэж нэрлэдэг. Одоо дөрвөлжин бүрийн хувьд бид өнгө (хар эсвэл цагаан) тодорхойлно. Нэг хэсэг нь хараар, нэг хэсэг нь цагаанаар будагдсан дөрвөлжингийн хувьд аль хэсэг нь (хар эсвэл цагаан) илүү том байхаас хамаарч өнгө сонгох болно.

Зураг 1.

Бидэнд пикселийн квадратуудаас бүрдсэн растер гэж нэрлэгддэг зураг бий.

Тодорхойлолт 1

Пиксел(eng. pixel = зургийн элемент, зургийн элемент) нь өөрийн өнгийг тохируулах боломжтой хамгийн жижиг зургийн элемент юм. "Ердийн" зургийг дөрвөлжин болгон хувааж, бид түүний ялгах ажлыг гүйцэтгэсэн - бид нэг объектыг тусдаа элементүүдэд хуваасан. Үнэн хэрэгтээ бидэнд нэг бөгөөд хуваагдашгүй зураг байсан - ромбын дүрс. Үүний үр дүнд бид салангид объектыг авсан - пикселийн багц.

Түүвэрлэлтийн үр дүнд олж авсан хар цагаан зургийн хоёртын кодыг дараах байдлаар бүтээж болно.

  • бид цагаан пикселийг тэгээр, хар пикселийг нэгээр сольдог;
  • гарсан хүснэгтийн мөрүүдийг нэг нэгээр нь бич.

Жишээ 1

Үүнийг энгийн жишээгээр харуулъя:

Зураг 2.

Энэ зургийн өргөн нь $8$ пиксель тул хүснэгтийн мөр бүр $8$ битээс бүрдэнэ. Тэг болон нэгийн маш урт гинжийг бичихгүйн тулд 4$-ын хөрш битүүдийг (тетрад) нэг арван арван оронтой тоогоор кодлож, арван зургаатын тооллын системийг ашиглах нь тохиромжтой.

Зураг 3

Жишээлбэл, эхний мөрөнд бид $1A_(16)$ кодыг авна:

болон бүх зургийн хувьд: $1A2642FF425A5A7E_(16)$.

Тайлбар 1

Бид ялгаж салгасны үр дүнд юу хожиж, юу алдсанаа ойлгох нь маш чухал юм. Хамгийн гол нь бид зургийг хоёртын хувилбараар кодлож чадсан. Гэсэн хэдий ч зургийг гажуудуулсан - ромбын оронд бид дөрвөлжин багцыг авсан. Гажуудлын шалтгаан нь зарим дөрвөлжин хэсэгт анхны зургийн хэсгүүд өөр өөр өнгөөр ​​дүүрсэн байсан бөгөөд кодлогдсон зураг дээр пиксел бүр нэг өнгөтэй байх ёстой. Тиймээс кодчилол хийх явцад зарим эх мэдээлэл алдагдсан. Энэ нь жишээлбэл, зургийг томруулсан үед дөрвөлжин нэмэгдэж, зураг улам бүр гажсан үед илэрдэг. Мэдээллийн алдагдлыг багасгахын тулд та пикселийн хэмжээг багасгах, өөрөөр хэлбэл нарийвчлалыг нэмэгдүүлэх хэрэгтэй.

Тодорхойлолт 2

Зөвшөөрөлзургийн хэмжээ нь нэг инч дэх пикселийн тоо юм.

Нарийвчлалыг ихэвчлэн нэг инч тутамд пикселээр хэмждэг (англи хэл дээрх $ppi$ = пиксел тутамд нэг инчийг ашигладаг). Жишээлбэл, $254$ $ppi$-ийн нарийвчлал нь нэг инч тутамд $254$ пиксел ($25.4$ мм) байна гэсэн үг бөгөөд пиксел бүр нь анхны зургийн $0.1×0.1$ мм квадратыг "агуулна". Нарийвчлал өндөр байх тусам зургийг илүү нарийвчлалтай кодчилдог (бага мэдээлэл алдагдах болно), гэхдээ үүний зэрэгцээ файлын хэмжээ нэмэгддэг.

Өнгөний кодчилол

Хэрэв зураг өнгөт байвал яах вэ? Энэ тохиолдолд нэг бит нь пикселийн өнгийг кодлоход хангалтгүй болно. Жишээлбэл, ОХУ-ын төрийн далбааны 4$-ын зураг дээр хар, хөх, улаан, цагаан өнгөтэй байна. Дөрвөн сонголтын аль нэгийг кодлохын тулд $2$ бит шаардлагатай тул өнгө бүрийн код (мөн пиксел бүрийн код) хоёр битээс бүрдэнэ. 00$ хар, 01$ улаан, 10$ цэнхэр, 11$ цагаан өнгөтэй байг. Дараа нь бид дараах хүснэгтийг авна.

Зураг 4

Цорын ганц асуудал бол дэлгэцэн дээр харуулахдаа аль өнгө нь нэг эсвэл өөр кодтой тохирч байгааг тодорхойлох хэрэгтэй. Өөрөөр хэлбэл, өнгөт мэдээллийг тоогоор (эсвэл тооны багц) илэрхийлэх ёстой.

Хүн гэрлийг цахилгаан соронзон долгионы багц гэж ойлгодог. Тодорхой долгионы урт нь тодорхой өнгөтэй тохирдог. Жишээлбэл, 500-565 доллар нм долгионы урт нь ногоон өнгөтэй байна. "Цагаан" гэж нэрлэгддэг гэрэл нь үнэндээ харагдахуйц бүх хүрээг хамарсан долгионы уртын холимог юм.

Өнгөний харааны орчин үеийн үзэл баримтлалын дагуу (Jung-Helmholtz онол) хүний ​​нүд гурван төрлийн мэдрэмтгий элементүүдийг агуулдаг. Тэд тус бүр гэрлийн урсгалыг бүхэлд нь мэдэрдэг боловч эхнийх нь улаан бүсэд, хоёр дахь нь ногоон бүсэд, гурав дахь нь цэнхэр бүсэд хамгийн мэдрэмтгий байдаг. Өнгө нь бүх гурван төрлийн рецепторыг өдөөсний үр дүн юм. Тиймээс ямар ч өнгийг (өөрөөр хэлбэл тодорхой долгионы урттай долгионыг хүлээн авдаг хүний ​​мэдрэмжийг) өөр өөр гэрэлтэй гурван гэрлийн туяа (улаан, ногоон, цэнхэр) ашиглан дуурайж болно гэж үздэг. Тиймээс аливаа өнгө нь улаан, ногоон, цэнхэр гэсэн гурван бүрэлдэхүүн хэсэгт хуваагддаг. Эдгээр бүрэлдэхүүн хэсгүүдийн хүчийг өөрчилснөөр та ямар ч өнгө хийж болно. Энэхүү өнгөт загварыг улаан (улаан), ногоон (ногоон), хөх (цэнхэр) гэсэн англи үгсийн эхний үсгийн дараа RGB гэж нэрлэдэг.

RBG загварт бүрэлдэхүүн хэсэг бүрийн тод байдлыг (эсвэл тэдний хэлснээр суваг тус бүр) ихэвчлэн 0 доллараас 255 доллар хүртэлх бүхэл тоогоор кодлодог. Энэ тохиолдолд өнгөт код нь тоонуудын гурвалсан (R, G, B), тусдаа сувгийн тод байдал юм. Өнгө ($0,0,0$) хар, ($255,255,255$) цагаан. Хэрэв бүх бүрэлдэхүүн хэсгүүд ижил гэрэлтэй байвал хараас цагаан хүртэл саарал өнгийн сүүдэр олж авна.

Зураг 5

Цайвар улаан (ягаан) өнгө болгохын тулд та ногоон, цэнхэр сувгийн тод байдлыг улаан ($255.0.0$) тэнцүү хэмжээгээр нэмэгдүүлэх хэрэгтэй, жишээлбэл, өнгө ($255, $150, $150) ягаан өнгөтэй байна. Бүх сувгийн гэрэлтүүлгийн жигд бууралт нь бараан өнгөтэй болгодог, жишээлбэл, кодтой өнгө ($100.0.0) хар улаан өнгөтэй байна.

Гурван өнгө тус бүрийн хувьд нийтдээ 256 долларын гэрэлтүүлгийн сонголтууд байдаг. Энэ нь $256^3= 16,777,216$ сүүдрийг кодлох боломжийг олгодог бөгөөд энэ нь хүний ​​хувьд хангалттай юм. $256 = 2^8$ тул гурван бүрэлдэхүүн хэсэг бүр санах ойд $8$ бит буюу $1$ байт эзэлдэг бөгөөд зарим өнгөний талаарх бүх мэдээлэл нь $24$ бит (эсвэл $3$ байт) байна. Энэ утгыг өнгөний гүн гэж нэрлэдэг.

Тодорхойлолт 3

Өнгөний гүннь пикселийн өнгийг кодлоход ашигладаг битийн тоо юм.

$24$-битийн өнгөний кодчилолыг ихэвчлэн True Color горим гэж нэрлэдэг. Энэхүү кодчилолоор зургийн хэмжээг байтаар тооцоолохын тулд пиксел бүрийн өнгийг гурван байтаар кодлодог тул нийт пикселийн тоог (өргөн ба өндрийг үржүүлж) тодорхойлж, үр дүнг $3$-оор үржүүлэх шаардлагатай. Жишээлбэл, truecolor горимд кодлогдсон $20x30$ пикселийн зураг $20x30x3 = 1800$ байт авна.

Жинхэнэ өнгөний горимоос гадна $16$-бит кодчилол (Өндөр өнгө)-ийг бас ашигладаг бөгөөд үүнд $5$ битийг улаан, цэнхэр бүрэлдэхүүн хэсгүүдэд, $6$ битийг ногоон бүрэлдэхүүн хэсгүүдэд хуваарилдаг бөгөөд энэ нь хүний ​​нүдийг илүү сайн харуулдаг. мэдрэмтгий. Өндөр өнгө горимд $2^(16) = 65,536$ өөр өөр өнгийг кодлох боломжтой. Гар утаснууд нь $12$-бит өнгө кодтой (нэг суваг бүрт $4$ бит, $4096$ өнгө).

Палетт кодчилол

Ерөнхийдөө цөөн өнгө хэрэглэх тусам өнгөт дүрс илүү их гажигтай болно. Тиймээс өнгийг кодлох үед түүвэрлэлтийн улмаас үүссэн алдагдал дээр "нэмэгдэх" мэдээллийн зайлшгүй алдагдах тохиолдол гардаг. Ихэнхдээ (жишээлбэл, схем, диаграмм, зураг дээр) зураг дээрх өнгөний тоо бага байдаг (256 доллараас ихгүй). Энэ тохиолдолд палитр кодчилол ашигладаг.

Тодорхойлолт 4

Өнгөт палитр RGB загварын бүрэлдэхүүн хэсэг болгон тодорхойлсон өнгө бүрд тоон код өгөгдсөн хүснэгт юм.

Палетт кодчилол дараах байдлаар хийгддэг.

  • өнгөний тоог сонгох $N$ (ихэвчлэн $256$-аас ихгүй);
  • Жинхэнэ өнгөт палитраас $N$-ийн өнгө сонгох ($16 777 216$ өнгө) ба тэдгээр тус бүрийн хувьд RGB загвараас бүрэлдэхүүн хэсгүүдийг олох;
  • өнгө бүрт $0$-с $N–1$ хүртэлх дугаар (код) оноогдсон;
  • бид палитрыг зохиож эхлээд $0$ код бүхий өнгөний RGB бүрэлдэхүүн хэсгүүдийг, дараа нь $1$ код бүхий өнгөт бүрэлдэхүүн хэсгүүдийг бичих гэх мэт.

Пиксел бүрийн өнгийг RGB утгууд биш, харин палитр дээрх өнгөний дугаараар кодлодог. Жишээлбэл, Оросын төрийн далбааны дүрсийг кодлохдоо (дээрхийг харна уу) $4$-ийн өнгийг сонгосон.

  • хар: RGB код ($0.0.0$); хоёртын код $002$;
  • улаан: RGB код ($255.0.0$); хоёртын код $012$;
  • цэнхэр: RGB код (0.0.255 доллар); хоёртын $102$;
  • цагаан: RGB код ($255,255,255); хоёртын код $112$.

Тиймээс, ихэвчлэн файлын эхэнд тусгай үйлчилгээний талбарт бичигддэг палитр нь (үүнийг файлын толгой гэж нэрлэдэг) дөрвөн гурван байт блок юм:

Зураг 6

Пиксел бүрийн код ердөө хоёр бит авдаг.

256 доллараас дээш өнгө бүхий палетыг практикт ашигладаггүй.

Растер кодчилолын давуу болон сул талууд

Растер кодчилол байдаг нэр төр:

  • бүх нийтийн арга (ямар ч зургийг кодлох боломжтой);
  • гэрэл зураг гэх мэт тодорхой хил хязгааргүй бүдгэрсэн зургийг кодлох, боловсруулах цорын ганц арга.

Тэгээд хязгаарлалт:

  • ялгах үед мэдээлэл үргэлж алдагддаг;
  • зургийн хэмжээг өөрчлөх үед зураг дээрх объектын өнгө, хэлбэр гажигтай тул хэмжээг нэмэгдүүлэх үед алга болсон пикселүүдийг ямар нэгэн байдлаар сэргээх шаардлагатай бөгөөд багасгах үед хэд хэдэн пикселийг нэгээр солих шаардлагатай болдог;
  • файлын хэмжээ нь зургийн нарийн төвөгтэй байдлаас хамаардаггүй бөгөөд зөвхөн нягтрал, өнгөний гүнээр тодорхойлогддог.

Дүрмээр бол растер зураг нь их хэмжээний эзэлхүүнтэй байдаг.

Хэрэв зураг өнгөт байвал яах вэ? Энэ тохиолдолд нэг бит нь пикселийн өнгийг кодлоход хангалтгүй болно. Жишээлбэл, ОХУ-ын далбааны зураг дээр хар, хөх, улаан, цагаан гэсэн 4 өнгө байдаг. Дөрвөн сонголтын аль нэгийг кодлоход 2 бит шаардагдах тул өнгө бүрийн код (мөн пиксел бүрийн код) хоёр битээс бүрдэнэ. 00 нь хар, 01 улаан, 10 цэнхэр, 11 цагаан байх болтугай. Дараа нь бид дараах хүснэгтийг авна.

Цорын ганц асуудал бол дэлгэцэн дээр харуулахдаа аль өнгө нь нэг эсвэл өөр кодтой тохирч байгааг тодорхойлох хэрэгтэй. Өөрөөр хэлбэл, өнгөт мэдээллийг тоогоор (эсвэл тооны багц) илэрхийлэх ёстой.

Хүн гэрлийг цахилгаан соронзон долгионы багц гэж ойлгодог. Тодорхой долгионы урт нь тодорхой өнгөтэй тохирдог. Жишээлбэл, 500х565 м урттай долгион нь ногоон өнгөтэй байна. "Цагаан" гэж нэрлэгддэг гэрэл нь үнэндээ харагдахуйц бүх хүрээг хамарсан долгионы уртын холимог юм.

RBG загварт бүрэлдэхүүн хэсэг бүрийн тод байдал

(эсвэл тэдний хэлснээр суваг бүр) ихэвчлэн байдаг

0-ээс 255 хүртэлх бүхэл тоогоор кодлогдсон. Энэ тохиолдолд,

өнгөний код нь гурав дахин тоо (R, G, B), тод байдал

бие даасан сувгууд. Өнгө (0,0,0) хар

өнгө, (255,255,255) цагаан байна. Хэрэв 5-р зургийн бүх бүрэлдэхүүн хэсэг

ижил гэрэлтэй байх нь хараас цагаан хүртэл саарал өнгийн сүүдэр үүсгэдэг. Вэб хуудасны өнгөний кодчилол нь мөн RGB загварыг ашигладаг боловч сувгийн гэрэлтүүлгийг 16-тын тоогоор (0016-аас FF16 хүртэл) бичиж, өнгөний кодын өмнө # тэмдэглэгдсэн байдаг. Жишээлбэл, улааныг #FF0000, хөхийг #0000FF гэж кодлодог.

Энд зарим өнгөний кодууд байна:

Хүснэгт 1

Гурван өнгө тус бүрийн хувьд нийтдээ 256 гэрэлтүүлгийн сонголттой. Энэ нь 256 3 = 16,777,216 сүүдрийг кодлох боломжтой болгодог бөгөөд энэ нь хүний ​​хувьд хангалттай юм. 256 = 2 8 тул гурван бүрэлдэхүүн хэсэг бүр санах ойд 8 бит буюу 1 байт эзэлдэг бөгөөд зарим өнгөний талаарх бүх мэдээлэл 24 бит (эсвэл 3 байт) байна. Энэ утгыг өнгөний гүн гэж нэрлэдэг.

Өнгөний гүн гэдэг нь пикселийн өнгийг кодлоход хэрэглэгддэг битүүдийн тоо юм. график мэдээллийг кодлох

24 битийн өнгөний кодчилолыг ихэвчлэн жинхэнэ өнгөний горим гэж нэрлэдэг (Англи хэлээр TrueColor - жинхэнэ өнгө). Энэхүү кодчилолоор зургийн хэмжээг байтаар тооцоолохын тулд пиксел бүрийн өнгийг гурван байтаар кодлодог тул нийт пикселийн тоог (өргөн ба өндрийг үржүүлж) тодорхойлж, үр дүнг 3-аар үржүүлэх хэрэгтэй. Жишээлбэл, truecolor горимд кодлогдсон 20x30 пикселийн хэмжээтэй зураг 20x30x3 = 1800 байт эзэлнэ. Мэдээжийн хэрэг, энэ нь орчин үеийн бүх зургийн файлын форматад ашиглагддаг шахалтыг тооцохгүй. Нэмж дурдахад, бодит файлууд нь үйлчилгээний мэдээллийг агуулсан толгойтой байдаг (жишээлбэл, зургийн хэмжээ). Жинхэнэ өнгөний горимоос гадна 16 битийн кодчилол (Англи хэлээр HighColor - "өндөр" өнгө), улаан, цэнхэр бүрэлдэхүүн хэсгүүдэд 5 бит, ногоонд 6 бит хуваарилагдах үед хүний ​​нүдийг ашигладаг. илүү мэдрэмтгий. HighColor горимд 216 = 65536 өөр өнгийг кодлох боломжтой. Гар утсанд 12 битийн өнгөт кодчилол (нэг суваг бүрт 4 бит, 4096 өнгө). Ерөнхийдөө цөөн өнгө хэрэглэх тусам өнгөт дүрс илүү их гажигтай болно. Тиймээс өнгийг кодлох үед түүвэрлэлтийн улмаас үүссэн алдагдал дээр "нэмэгдэх" мэдээллийн зайлшгүй алдагдах тохиолдол гардаг. Гэсэн хэдий ч ашигласан өнгөний тоо нэмэгдэхийн хэрээр файлын хэмжээ нэгэн зэрэг нэмэгддэг. Жишээлбэл, жинхэнэ өнгөний горимд файл нь 12 битийн кодчилолтой харьцуулахад хоёр дахин том байх болно. Ихэнхдээ (жишээлбэл, диаграмм, диаграмм, зураг дээр) зураг дээрх өнгөний тоо бага (256-аас ихгүй) байдаг. Энэ тохиолдолд палитр кодчилол ашигладаг.

Өнгөт палитр нь RGB загварын бүрэлдэхүүн хэсэг болгон тодорхойлсон өнгө бүрийг тоон кодоор буулгасан хүснэгт юм.

Палетт кодчилол дараах байдлаар хийгддэг.

  • N өнгөний тоог сонгох (дүрмээр бол 256-аас ихгүй);
  • Жинхэнэ өнгөт палитраас (16,777,216 өнгө) N өнгийг сонго
  • тэдгээрээс бид RGB загвар дахь бүрэлдэхүүн хэсгүүдийг олдог;
  • Өнгө тус бүрт 0-ээс N-1 хүртэлх дугаар (код) оноогдсон;
  • · палитр зохиож эхлээд 0 кодтой өнгөний RGB бүрэлдэхүүн хэсгүүдийг, дараа нь 1 кодтой өнгөний бүрэлдэхүүн хэсгүүдийг бичнэ.
  • · пиксел бүрийн өнгийг RGB утгууд биш, харин палитрт өнгөний дугаараар кодлодог.

Жишээлбэл, Оросын төрийн далбааны дүрсийг кодлохдоо (дээрхийг үзнэ үү) 4 өнгийг сонгосон.

  • хар: RGB код (0,0,0); хоёртын код 002;
  • улаан: RGB код (255,0,0); хоёртын код 012
  • цэнхэр: RGB код (0,0,255); хоёртын код 102;
  • цагаан: RGB код (255,255,255); хоёртын код 112.

Тиймээс файлын эхэнд тусгай үйлчилгээний талбарт ихэвчлэн бичигддэг палитр нь дөрвөн гурван байт блок юм.

Пиксел бүрийн код ердөө хоёр бит авдаг. N өнгө (шахалтгүйгээр) агуулсан палитр бүхий зургийн эзлэхүүнийг ойролцоогоор тооцоолохын тулд танд дараахь зүйл хэрэгтэй болно.

  • палитрын хэмжээг тодорхойлох, 3×N байт эсвэл 24×N бит;
  • · өнгөний гүнийг тодорхойлох (пиксел дэх битийн тоо), өөрөөр хэлбэл, 2 k байхаар хамгийн бага натурал k тоог олно уу? N;
  • Зургийн хэмжээсийг үржүүлж нийт пикселийн M тоог тооцоолох;
  • · үндсэн хэсэг Mchk битийн мэдээллийн эзлэхүүнийг тодорхойлох.

Хүснэгтэнд палитр бүхий зарим кодчилолын талаархи өгөгдлийг харуулав.

хүснэгт 2

256-аас дээш өнгө бүхий палитрыг практикт ашигладаггүй. RGB кодчилол нь дэлгэц эсвэл зөөврийн компьютерын дэлгэц гэх мэт зарим төхөөрөмжөөс ялгарах өнгийг хамгийн сайн тодорхойлдог. Цаасан дээр хэвлэсэн зургийг харахад байдал огт өөр байна. Бид нүд рүү орж буй эх үүсвэрийн шууд туяаг хардаггүй, харин гадаргуугаас туссан байдаг. Бүх харагдахуйц долгионыг агуулсан зарим эх үүсвэрээс (нар, гэрлийн чийдэн) "цагаан гэрэл" будаг түрхсэн цаасан дээр унадаг. Будаг нь зарим цацрагийг шингээдэг (тэдгээрийн энерги нь халаахад зарцуулагддаг), үлдсэн хэсэг нь нүд рүү ордог, энэ бол бидний харж буй өнгө юм.


Жишээлбэл, будаг нь улаан туяаг шингээдэг бол зөвхөн хөх, ногоон өнгө л үлддэг - бид хөхийг хардаг. Энэ утгаараа улаан, цэнхэр өнгө нь ногоон-ягаан, хөх-шар өнгийн хос шиг бие биенээ нөхдөг.

Үнэн хэрэгтээ, хэрэв та цагаанаас ногооныг "хасавал" (түүний RGB код нь #FFFFFF) бол #FF00FF (ягаан, ягаан), цэнхэр "хасах" бол #FFFF00 (шар) өнгө авах болно.

Гурван нэмэлт өнгө дээр - цэнхэр,

нил ягаан ба шар - өнгөт схемийг барьж байна

CMY загвар (англи. Цэнхэр - цэнхэр, Магента -

нил ягаан, Шар - шар) хэрэглэж байна

хэвлэх зориулалттай. Зураг 8

C=M=Y=0 гэсэн утгууд нь цагаан цаасан дээр бэх түрхээгүй тул бүх туяа туссан тул цагаан өнгөтэй байна. Хэрэв та цэнхэр нэмбэл улаан туяа шингэж, зөвхөн хөх, ногоон өнгөтэй болно. Хэрэв та цэнхэр туяаг шингээдэг шар өнгийн будаг нэмж түрхвэл зөвхөн ногоон өнгөтэй болно.

Цэнхэр, ягаан, шар өнгийн будгийг хэрэглэхдээ онолын хувьд хар өнгө авах ёстой бөгөөд бүх туяа шингэдэг. Гэсэн хэдий ч практик дээр бүх зүйл тийм ч хялбар биш юм. Өнгө нь төгс биш тул хар биш, бохир хүрэн өнгөтэй болно. Нэмж дурдахад, хар хэсгүүдийг хэвлэхдээ бэхний гурвалсан хэсгийг нэг газар "цутгах" хэрэгтэй. Ихэнхдээ хар текстийг принтер дээр хэвлэдэг бөгөөд өнгөт бэх нь хараас хамаагүй үнэтэй байдаг гэдгийг санах нь зүйтэй.

Энэ асуудлыг шийдэхийн тулд бэхний багцад хар нэмж оруулсан бөгөөд энэ нь гол өнгө (eng. Keycolor) гэж нэрлэгддэг тул үүссэн загварыг CMYK гэж нэрлэдэг. Ихэнх принтерийн хэвлэдэг зураг нь эдгээр дөрвөн өнгөний цэгүүдээс тогтдог бөгөөд тэдгээр нь хоорондоо маш ойрхон хээтэй байдаг. Энэ нь зураг дээр өөр өөр өнгө байдаг гэсэн хуурмаг байдлыг бий болгодог. RGB болон CMY (CMYK) өнгөт загваруудаас гадна бусад загварууд байдаг. Тэдгээрийн хамгийн сонирхолтой нь HSB загвар юм (Англи хэл Hue - өнгө аяс, сүүдэр; Saturation - ханалт, Brightness - тод байдал) нь хүний ​​байгалийн ойлголтод хамгийн ойр байдаг. Hue нь жишээлбэл хөх, ногоон, шар өнгөтэй. Ханалт нь өнгөний цэвэр байдал бөгөөд ханалтыг тэг болгож бууруулснаар саарал өнгөтэй болно. Гэрэлтүүлэг нь өнгө хэр цайвар эсвэл бараан байхыг тодорхойлдог. Гэрэлтүүлэг тэг болж буурахад ямар ч өнгө хар өнгөтэй болдог.

Үнэнийг хэлэхэд, RGB, CMYK, HSV загварт кодлогдсон өнгө нь энэ өнгийг харуулах төхөөрөмжөөс хамаарна. "Үнэмлэхүй" өнгийг кодлохын тулд лабораторийн загварыг ашигладаг (Англи хэлээр Lighntess - цайвар байдал, a ба b - өнгөний өнгө, ханалтыг тодорхойлдог параметрүүд) нь олон улсын стандарт юм. Энэ загварыг жишээлбэл, өнгийг RGB-аас CMYK руу хөрвүүлэхэд ашигладаг.

Ихэвчлэн хэвлэх зориулалттай зургуудыг компьютер дээр (RGB горимд) бэлтгэж, дараа нь CMYK өнгөт загвар руу хөрвүүлдэг. Энэ тохиолдолд даалгавар бол дэлгэц дээр хэвлэх үед ижил өнгөтэй байх явдал юм. Эндээс л асуудал үүсдэг. Баримт нь дэлгэцэн дээр пикселийг харуулах үед дэлгэц нь зарим тоонуудыг (RGB код) хүлээн авдаг бөгөөд үүний үндсэн дээр пикселийг нэг эсвэл өөр өнгөөр ​​"будах" шаардлагатай болдог. Эндээс нэгэн чухал дүгнэлт гарч байна.

Дэлгэц дээр бидний харж буй өнгө нь дэлгэцийн шинж чанар, тохиргооноос хамаарна.

Энэ нь жишээ нь улаан өнгө (R=255, G=B=0) өөр өөр дэлгэц дээр өөр өөр байх болно гэсэн үг. Та зурагт, монитор зардаг дэлгүүрт ийм эффектийг харсан байх - ижил зураг тус бүр дээр өөр өөр харагдаж байна. Юу хийх вэ?

Нэгдүгээрт, дэлгэцийг тохируулсан - тод, тодосгогч, цагаан, хар, саарал өнгийг тохируулна. Хоёрдугаарт, өнгөт зурагтай ажилладаг мэргэжилтнүүд монитор, сканнер, принтер болон бусад төхөөрөмжийн өнгөт профайлыг ашигладаг. Профайл нь өөр RGB код эсвэл CMYK кодтой ямар бодит өнгө тохирч байгаа талаарх мэдээллийг хадгалдаг. Профайл үүсгэхийн тулд тусгай төхөөрөмжүүдийг ашигладаг - улаан, ногоон, цэнхэр мужид туяа хүлээн авдаг гурван мэдрэгч ашиглан өнгийг хэмждэг калибратор (өнгө хэмжигч). Орчин үеийн график файлын форматууд (жишээлбэл, Adobe Photoshop .PSD формат) нь пикселийн кодуудын хамт зураг үүсгэсэн дэлгэцийн профайлыг агуулдаг. Принтер дээр хэвлэх үр дүн дэлгэц дээрх зурагтай аль болох адилхан байхын тулд (мониторын профайлыг ашиглан) "үнэмлэхүй" өнгийг (жишээлбэл, лабораторийн загварт) тодорхойлох шаардлагатай. хэрэглэгч харсан бөгөөд дараа нь (хэвлэгчийн профайлыг ашиглан) CMYK кодыг олохын тулд хамгийн ойр өнгө хэвлэх болно.

Асуудал нь RGB загварын бүх өнгийг хэвлэх боломжгүй юм. Юуны өмнө энэ нь тод, ханасан өнгөнд хамаарна. Жишээлбэл, тод улаан өнгийг (R=255, G=B=0) хэвлэх боломжгүй, CMYK загварт хамгийн ойр өнгө (C=0, M=Y=255, K=0) буцаан хөрвүүлэхэд RGB нь R=237, G=28, B=26 мужид утгыг өгч чадна. Тиймээс тод өнгийг CMYK болгон хувиргах үед (мөн тод хэв маягийг хэвлэх үед) бүдэгхэн болдог. Үүнийг мэргэжлийн дизайнерууд анхааралдаа авах ёстой.

Тиймээс растер кодчилолоор зургийг пиксел (дискрет) болгон хуваадаг. Пиксел бүрийн хувьд нэг өнгө тодорхойлогддог бөгөөд энэ нь ихэвчлэн RGB код ашиглан кодлогддог. Практикт эдгээр үйлдлийг сканнер (зураг оруулах төхөөрөмж) болон дижитал камер гүйцэтгэдэг.

Растер кодчилол нь дараахь давуу талуудтай.

  • бүх нийтийн арга (ямар ч зургийг кодлох боломжтой);
  • · бүдэг дүрсийг кодлох, боловсруулах цорын ганц арга;
  • гэрэл зураг гэх мэт тодорхой хил хязгаар.

Растер кодчилол нь сул талуудтай:

  • Дээж авах үед үргэлж мэдээлэл алдагддаг;
  • Зургийн хэмжээг өөрчлөх үед зураг дээрх объектын өнгө, хэлбэр гажигтай байдаг, учир нь хэмжээ нь нэмэгдэхэд дутуу пикселүүдийг ямар нэгэн байдлаар сэргээх шаардлагатай байдаг бөгөөд үүнийг багасгах үед хэд хэдэн пикселийг нэгээр солих шаардлагатай болдог;
  • Файлын хэмжээ нь зургийн нарийн төвөгтэй байдлаас хамаардаггүй, зөвхөн нарийвчлал, өнгөний гүнээр тодорхойлогддог;
  • Дүрмээр бол растер зураг нь их хэмжээний эзэлхүүнтэй байдаг.

Растер зургийн олон янзын формат байдаг. Хамгийн түгээмэл нь дараахь зүйлүүд юм.

BMP (Англи хэлний bitmap - bitmap, .bmp өргөтгөлтэй файлууд) - Windows үйлдлийн систем дэх стандарт формат; палетт болон truecolor кодчилолыг дэмждэг;

JPEG (eng. JointPhotographicExpertsGroup - шинжээч гэрэл зурагчдын хамтарсан бүлэг, .jpg эсвэл .jpeg өргөтгөлтэй файлууд) - гэрэл зургийг кодлоход тусгайлан зориулсан формат; зөвхөн жинхэнэ өнгөний горимыг дэмждэг; файлын хэмжээг багасгахын тулд зураг бага зэрэг гажсан хүчтэй шахалтыг ашигладаг тул тодорхой хил хязгаартай зураг зурахад ашиглахыг зөвлөдөггүй;

GIF (eng. GraphicsInterchangeFormat - .gif өргөтгөлтэй зураг, файл солилцох формат) - зөвхөн палитраар кодлохыг дэмждэг формат (2-оос 256 өнгө хүртэл); өмнөх форматаас ялгаатай нь зургийн хэсэг нь ил тод байж болно, өөрөөр хэлбэл дэвсгэр нь вэб хуудсан дээр "гэрэлтэх" болно; GIF форматын орчин үеийн хувилбарт та хөдөлгөөнт дүрсийг хадгалах боломжтой; алдагдалгүй шахалтыг ашигладаг, өөрөөр хэлбэл шахалтын үед зураг гажууддаггүй;

PNG (PortableNetworkGraphics - зөөврийн сүлжээний зураг, .png өргөтгөлтэй файлууд) нь жинхэнэ өнгөт горим болон палитр кодчилолыг дэмждэг формат юм; зургийн хэсэг нь ил тод, бүр тунгалаг байж болно (32 битийн RGBA кодчилол, дөрөв дэх байт нь ил тод байдлыг тодорхойлдог); зураг нь гажуудалгүйгээр шахагдсан; хөдөлгөөнт дүрсийг дэмждэггүй.

Харгалзан үзсэн форматуудын шинж чанарыг хүснэгтэд нэгтгэн харуулав.

Хүснэгт 3

Компьютерийн санах ойд бүх төрлийн мэдээлэл хоёртын код, өөрөөр хэлбэл тэг ба нэгийн гинж хэлбэрээр хадгалагддаг гэдгийг та аль хэдийн мэдэж байгаа. Ийм гинжийг хүлээн авснаар үүнийг текст, зураг, дуу, видео гэж хэлэх боломжгүй юм. Жишээлбэл, 11001000 2 код нь 200 тоо, "I" үсэг, жинхэнэ өнгөний горимд байгаа пикселийн өнгөт бүрэлдэхүүн хэсгүүдийн нэг, 256 өнгийн палитр бүхий хээний палитрын өнгөний дугаар, пикселийн өнгө 8 байж болно. хар ба цагаан загвар гэх мэт. Компьютер хоёртын өгөгдлийг хэрхэн ойлгодог вэ? Юуны өмнө та файлын нэрийн өргөтгөл дээр анхаарлаа хандуулах хэрэгтэй. Жишээлбэл, ихэвчлэн .txt өргөтгөлтэй файлууд нь текст, .bmp, .gif, .jpg, .png өргөтгөлтэй файлууд нь зураг агуулдаг.

Гэхдээ файлын өргөтгөлийг хүссэнээрээ өөрчилж болно. Жишээлбэл, та текст файлыг .bmp өргөтгөлтэй, JPEG зургийг .txt өргөтгөлтэй болгож болно. Тиймээс, тусгай форматтай бүх файлын эхэнд (энгийн текст, .txt-аас бусад) толгой бичигдсэн бөгөөд түүгээр та файлын төрөл болон түүний шинж чанарыг "таних" боломжтой. Жишээлбэл, BMP файлууд нь "BM" тэмдэгтээр, GIF файлууд нь "GIF" тэмдэгтүүдээс эхэлдэг. Нэмж дурдахад гарчиг нь зургийн хэмжээ, түүний шинж чанар, тухайлбал палитр дахь өнгөний тоо, шахалтын арга гэх мэтийг заана.

Энэхүү мэдээллийг ашиглан программ нь файлын үндсэн хэсгийг "шифрлэж" дэлгэцэн дээр харуулдаг.



Бид уншихыг зөвлөж байна

Топ