Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Generovanie náhodných čísel: Toto je najzákladnejší prístup. Generujete náhodné čísla v zadanom rozsahu a potom tieto čísla zmapujete na hodnoty pixelov.
* Rovnomerný hluk: Toto je najjednoduchší typ. Generujete náhodné čísla rovnomerne rozdelené medzi minimálnu a maximálnu hodnotu (napr. 0 a 255 pre 8-bitové obrázky šedej). To má za následok škvrnitý vzhľad. Knižnice ako Numpy v Pythone to uľahčujú:
`` `Python
import numpy ako np
import matplolib.pyplot ako plt
Šírka, výška =256, 256
hluk =np.random.Randint (0, 256, veľkosť =(výška, šírka), dtype =np.uint8)
plt.imshow (hluk, cmap ='šedá')
plt.show ()
`` `
* Gaussov hluk (normálny hluk): Je to realistickejšie, pretože simuluje typ šumu, ktorý sa často vyskytuje v obrazových senzoroch. Je založená na gaussovskom (normálnom) distribúcii. Priemer určuje priemerný jas a štandardná odchýlka riadi intenzitu hluku. Numpy poskytuje `np.random.normal`:
`` `Python
import numpy ako np
import matplolib.pyplot ako plt
Šírka, výška =256, 256
priemer =0
STDDEV =30 # Upravte hladinu hluku
hluk =np.random.Normal (priemer, stddev, size =(výška, šírka)). astype (np.uint8)
hluk =np.clip (hluk, 0, 255) #ensure Hodnoty sú v rozmedzí 0-255.
plt.imshow (hluk, cmap ='šedá')
plt.show ()
`` `
* soľ-a-pepper hluk: Tento typ predstavuje náhodné čierne a biele pixely. Môžete to dosiahnuť náhodným výberom pixelov a nastavením ich hodnôt na 0 (čierne) alebo 255 (biele).
`` `Python
import numpy ako np
import matplolib.pyplot ako plt
Šírka, výška =256, 256
SALT_PEPPER_RATIO =0,1 # percento postihnutých pixelov
hluk =np.random.Choice ([0, 255], size =(výška, šírka), p =[1-salt_pepper_ratio, salt_pepper_ratio])
plt.imshow (hluk, cmap ='šedá')
plt.show ()
`` `
2. Pomocou knižníc spracovania obrázkov: Knižnice ako OpenCV (CV2 v Pythone) a Scikit-Image poskytujú funkcie, ktoré môžu obrázky pridať priamo k obrázkom, často ponúkajú väčšiu kontrolu a efektívnosť.
3. Perlin hluk (pre procedurálne textúry): Toto je typ gradientového hluku, ktorý sa často používa na vytváranie prirodzenejších textúr a menej granulovaného hluku. Implementácia od nuly je zložitejšie, ale knižnice to dokážu ľahko zvládnuť.
4. Simulácia špecifických zdrojov hluku: Pre veľmi realistické simulácie možno budete musieť modelovať špecifické zdroje hluku, ako je tepelný hluk, šum strely alebo kvantizačný šum. To si často vyžaduje pochopenie fyzických procesov za tvorbou hluku.
Pridanie šumu do existujúceho obrázka:
Po vygenerovaní šumu ho pridáte do svojho pôvodného obrázka podľa prvkov alebo iných operácií. Nezabudnite upraviť mierku svojho šumu, aby ste predišli orezaniu (hodnoty presahujúce platný rozsah, napríklad 0-255 pre 8-bitové obrázky).
Výber metódy závisí od vašej konkrétnej aplikácie. Pre jednoduché simulácie postačuje generovanie náhodných čísel. V prípade pokročilejších scenárov alebo realistického šumu sa odporúča použitie knižníc spracovania obrazu alebo sofistikovanejších techník vytvárania hluku. Po pridaní šumu nezabudnite spracovať potenciálne hodnoty pixelov mimo rozsahu.