Python OpenCV實(shí)現(xiàn)同時(shí)加椒鹽噪聲和隨機(jī)雜點(diǎn)噪聲
介紹在之前的教程中,我們分別學(xué)習(xí)了如何給圖像添加鹽噪聲和椒噪聲。理解了這兩種噪聲的生成方式和影響后,接下來(lái)我們將介紹如何同時(shí)給圖像添加椒鹽噪聲,以及如何生成隨機(jī)雜點(diǎn)噪聲。椒鹽噪聲椒鹽噪聲是指圖像中出現(xiàn)
介紹
在之前的教程中,我們分別學(xué)習(xí)了如何給圖像添加鹽噪聲和椒噪聲。理解了這兩種噪聲的生成方式和影響后,接下來(lái)我們將介紹如何同時(shí)給圖像添加椒鹽噪聲,以及如何生成隨機(jī)雜點(diǎn)噪聲。
椒鹽噪聲
椒鹽噪聲是指圖像中出現(xiàn)的隨機(jī)亮點(diǎn)或暗點(diǎn),給圖像帶來(lái)了不必要的干擾。為了方便測(cè)試處理方法,我們需要能夠控制椒鹽噪聲的比例。除了椒鹽噪聲外,隨機(jī)顏色噪聲也很常見(jiàn),俗稱(chēng)麻點(diǎn)噪聲。
同時(shí)生成椒鹽噪聲代碼
以下是通過(guò)Python OpenCV實(shí)現(xiàn)同時(shí)生成椒鹽噪聲的代碼:
```python
import cv2 as cv
import numpy as np
image ('')
height [0]
width [1]
channels [2]
pertotal 0.03 總噪聲占比
persalt 0.1 鹽占比
perpep 1 - persalt 椒占比
NoiseImg ()
NoiseNum int(pertotal * height * width)
for i in range(NoiseNum):
rows np.random.randint(0, height - 1)
cols np.random.randint(0, width - 1)
if np.random.randint(0, 100) < persalt * 100:
NoiseImg[rows, cols, 0] 255
NoiseImg[rows, cols, 1] 255
NoiseImg[rows, cols, 2] 255
else:
NoiseImg[rows, cols, 0] 0
NoiseImg[rows, cols, 1] 0
NoiseImg[rows, cols, 2] 0
('SP單項(xiàng)占比NoiseImg', NoiseImg)
cv.waitKey(0)
```
隨機(jī)雜點(diǎn)噪聲
除了椒鹽噪聲外,我們還可以生成隨機(jī)雜點(diǎn)噪聲,通過(guò)調(diào)整噪聲比例來(lái)影響圖像質(zhì)量。以下是隨機(jī)雜點(diǎn)噪聲的代碼示例:
```python
per 0.05 噪聲占比
NoiseImg ()
NoiseNum int(per * height * width)
for i in range(NoiseNum):
rows np.random.randint(0, height - 1)
cols np.random.randint(0, width - 1)
channel np.random.randint(0, 3)
if np.random.randint(0, 2) 0:
NoiseImg[rows, cols, channel] 0
else:
NoiseImg[rows, cols, channel] 255
('RGBNoiseImg', NoiseImg)
cv.waitKey(0)
```
隨機(jī)麻點(diǎn)噪聲
除了以上介紹的兩種噪聲外,我們還可以生成更為隨機(jī)的麻點(diǎn)噪聲,通過(guò)循環(huán)生成一定數(shù)量的噪點(diǎn),給圖像增加更多的干擾。
```python
NoiseImg ()
for k in range(5000):
i random.randint(0, [0] - 1)
j random.randint(0, [1] - 1)
color (random.randrange(256), random.randrange(256), random.randrange(256))
NoiseImg[i, j] color
('randomcolorNoize', NoiseImg)
cv.waitKey(0)
```
在本文中,我們介紹了如何同時(shí)生成椒鹽噪聲和隨機(jī)雜點(diǎn)噪聲,以及隨機(jī)麻點(diǎn)噪聲的實(shí)現(xiàn)方法。這些噪聲可以通過(guò)調(diào)整參數(shù)來(lái)控制生成的噪聲比例和數(shù)量,為后續(xù)的濾波處理提供了基礎(chǔ)。通過(guò)低通、高斯、中值濾波等處理方法,可以有效地消除圖像中的噪聲,提升圖像質(zhì)量。