Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

11. клас · Избираем модул · Урок 21

Изображението като матрица от числа

Пикселът като число от 0 до 255, трите цветни канала, разделителната способност и размерът в байтове. Разчитаме и променяме пиксели на ръка и рисуваме картинка по числа.

Какво всъщност вижда компютърът

В урок 10 казахме, че всеки вид данни трябва да стане числа, преди алгоритъмът да го докосне. В уроци 19 и 20 мрежата „разпознаваше“ образи, но не спряхме да попитаме какво получава на входа. Отговорът е прост и малко разочароващ: таблица от числа. Нито котка, нито лице, нито буква — числа, подредени в редове и колони.

Днес отваряме тази таблица. Ще видим откъде идват числата, защо са точно между 0 и 255, какво прави цвета и колко байта тежи една снимка. Следващите два урока стъпват изцяло върху това.

Пикселът и сивото изображение

Пиксел (pixel)

Най-малката точка на цифровото изображение. При сиво изображение пикселът е едно число: колко светла е точката.

6×6 пиксела006090300080200220120040180255250190303016024024517020060150160700003040100матрица 6×6 = 36 числа0 е черно, 255 е бяло, между тях са сивите.
Всеки пиксел е едно число. Редовете и колоните правят матрица.

Числото е от 0 до 255. Защо точно 255? Защото за един пиксел се заделя един байт — 8 бита, а с 8 бита се записват 2⁸ = 256 различни стойности: от 0 до 255. Това е удобно за паметта и достатъчно за окото — човек различава далеч по-малко степени на сивото.

Матрица

Правоъгълна таблица от числа с определен брой редове и колони. Сиво изображение с 6 реда и 6 колони е матрица 6×6 с 36 числа.

Цветът: три матрици вместо една

Екранът смесва три светлини — червена, зелена и синя. Затова цветният пиксел не е едно число, а три: по едно за всеки цветен канал (channel). Записва се като тройка (R, G, B), всяко от 0 до 255.

R (червено)255200600G (зелено)402001800B (синьо)40602200=цветна 2×2Всеки цветен пиксел е тройка числа (R, G, B). Черното е (0, 0, 0), бялото — (255, 255, 255).
Цветното изображение са три матрици с еднакъв размер — по една за всеки канал.
(R, G, B)ЦвятЗащо
(0, 0, 0)чернонито една светлина не свети
(255, 255, 255)бялои трите на максимум
(255, 0, 0)червеносамо червеният канал
(255, 255, 0)жълточервено + зелено
(128, 128, 128)средно сивотрите са равни
(0, 0, 128)тъмносиньомалко синьо, нищо друго

От цветно към сиво

Когато трите числа са равни, пикселът е сив. За да превърнем цветна снимка в сива, за всеки пиксел взимаме средното на трите канала: (R + G + B) / 3. Пиксел (200, 100, 60) става 120. Много модели работят именно със сиви изображения — три пъти по-малко числа, а формите се пазят.

Разделителна способност и размер

Разделителна способност (резолюция)

Броят пиксели по ширина и височина, например 1920×1080. Колкото е по-голяма, толкова повече подробности — и толкова повече числа.

Размерът в паметта се смята направо от матрицата:

сиво:    ширина × височина × 1 байт
цветно:  ширина × височина × 3 байта

8 × 8 сиво          =       64 байта
28 × 28 сиво        =      784 байта   (ръкописните цифри от урок 19)
1920 × 1080 цветно  = 6 220 800 байта ≈ 6 MB
4000 × 3000 цветно  = 36 000 000 байта = 36 MB  (снимка от телефон)

Промяна на пиксели е аритметика

Щом изображението е матрица, „да редактираш снимка“ значи „да смениш числата“. Две от най-простите операции:

  • Обръщане на цветовете (негатив): всяко число v става 255 − v. Черното става бяло, тъмносивото — светлосиво.
  • Осветяване: към всяко число добавяме едно и също, например +50. Ако резултатът мине 255, спираме на 255 — по-бяло от бяло няма.
ред от матрицата:    10   60  120  200  240
негатив (255 − v):  245  195  135   55   15
осветяване (+50):    60  110  170  250  255   ← 290 се отрязва до 255

Какво трябва да запомниш

  • Цифровото изображение е матрица от числа; един пиксел е едно число (сиво) или три (цветно).
  • Стойностите са от 0 (черно) до 255 (бяло), защото на пиксел се пада един байт на канал.
  • Цветът се получава от три канала — червен, зелен и син; равни стойности дават сиво.
  • Размерът е ширина × височина × брой канали байта; файлът е по-малък заради компресия.
  • Промяната на изображението е аритметика върху числата, с отрязване до 0 и 255.
  • Точно тази матрица получава моделът за разпознаване — нищо друго.