blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
2
SLEDOVAŤ BLOG
PHP, Arduino programátor
deadawp



Šum v 8-bitových obrazoch - MATLAB
pridal deadawp 5.12. 2019 o 19:47



Šum je negatívny jav, ktorý vplýva na širokú paletu digitálnych produktov. Obrázky, zvukové, či obrazové záznamy (digitalizované). Cieľom tohto článku je poukázať na vplyv šumu, ktorý dokáže pozmeniť hodnoty jednotlivých bitov pixelov. Vo výsledku to znamená, že úpravou najvýznamnejšieho bitu - tzv. MSB (Most Significant Bit) prídeme až 50% hodnoty svetlosti bitu. Šum je teda prejavuje ako zložka, ktorá daný pixel stmaví.

Každý pixel je tvorenými ôsmymi bitmi v prípade čiernobieleho obrázku. Čím vyššia je hodnota bitu, tým svetlejší je bit. Osem bitov dokáže vo výsledku nadobudnúť hodnotu 0 - 255. Pre zrozumiteľnejšiu reprezentáciu poslúži aj tabuľka:

BIT - poradie bitu  1. (LSB) 2. 3. 4. 5. 6. 7. 8. (MSB)
NADOBÚDA HODNOTU 0/1 0/2 0/4 0/8 0/16 0/32 0/64 0/128

Implementácia v MATLAB-e reprezentuje fyzické obrázky načítaním do matíc, pričom každý obrázok je o rozmere 512x512px. Každý obrázok je tak reprezentovaný  262 144 pixelmi. Každý pixel je tvorený osmicou bitov, teda obrázok je v pamäti reprezentovaný prostredníctvom 2 097 152 binárnych hodnôt. Hodnoty sú hierarchicky usporiadané od LSB (Less Significant Bit) po MSB (zľava doprava).

Súčasťou implementácie je aj generovanie šumu, ktorý sa na načítaný obrázok aplikuje.  Šum je vygenerovaný cez "true random generator", ktorý je založený na čase, teda (ne)periodicky. Štandardne je funkcia pre generovanie periodická s predvolenými hodnotami, z ktorých sa číslo/reťazec generuje. Šum je aplikovaný na pôvodný obrázok po stĺpcoch, čo znamená, že sa šum aplikuje postupne na 1. bit (LSB), 2. bit, 3. bit, 4. bit, 5. bit, 6. bit, 7. bit, 8. bit (MSB) . Vďaka tomu je možné priebežné výsledky ukladať a vykresliť do okna pre reprezentáciu používateľovi. 

Aby bolo možné upravené obrázky vykresliť po úprave jednotlivých stĺpcov samostatne, sú jednoducho nanovo "zložené" prostredníctvom stĺpcov pôvodného (neupraveného) obrázku s upraveným stĺpcom. Takto vieme vykresliť jednotlivé obrázky s práve chceným upraveným stĺpcom. Výsledný obrázok so šumom pre všetky stĺpce je vyskladaný z upravených stĺpcov. Z výstupu je zrejmé, že najviac výsledok ovplyvnil šum pre 8.bit (MSB) a 7. bit. Pri 1. (LSB) bite nie je zmena bitu prostredníctvom šumu patrná.

Práca s čiernobielymi obrázkami je jednoduchšia, nakoľko tu existuje iba jedna farebná paleta. Pri RGB sú až 3 farebné palety, pričom je každý pixel reprezentovaný až 24 bitmi. Takáto implementácia by predstavovala 262 144 pixelov pre obrázok s 6 291 456 binárnymi hodnotami. 

Implementácia využíva 3 obrázky s doplnením rovnakého šumu do všetkých troch obrázkov. Obrázky sú načítané na začiatku programu funkciou imread() s ich názvom. Priamy názov predstavuje ich umiestnenie v rovnakom priečinku ako použitie programu. Matematicky je v programe vyjadrený aj Špičkový výkon (pomer) "signálu" voči šumu (PSNR) a určuje aj strednú kvadratickú chybu (MSE).
Použité obrázky (ukladať ako 8-bit .bmp)!

lena512g.bmp

barbara512g.bmp

girlface512g.bmp

Programová implementácia: https://arduino.php5.sk/bitove-roviny.php



Prístupov 3892
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDUJETE
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Ovládanie Arduina cez UART z počítača
[ 19.11.2020] (príspevkov 0)
ArduinoJson - knižnica pre parsovanie JS...
[ 15.11.2020] (príspevkov 0)
Overenie kradnutých vozidiel - Arduino +...
[ 11.11.2020] (príspevkov 0)
Hladinomer + Zrážkomer - Arduino / ESP82...
[ 2.11.2020] (príspevkov 0)
RFID vrátnik - update Október 2020
[ 29.10.2020] (príspevkov 0)
Digitálny potenciometer, prerušenie, deb...
[ 28.10.2020] (príspevkov 0)
Integrácia zrážkomera RG-11 do projektu ...
[ 22.10.2020] (príspevkov 0)
WiFi Termostat - ESP8266 - WiFiManager -...
[ 28.9.2020] (príspevkov 0)
Izbový termostat - Portovanie programu -...
[ 22.9.2020] (príspevkov 0)
RFID vrátnik - Ukončenie projektu
[ 9.9.2020] (príspevkov 0)