Python++是一種集成了多種實(shí)用擴(kuò)展的高級(jí)編程語言,它可以幫助開發(fā)者輕松完成各種任務(wù)。其中,隨機(jī)噪聲是常用的一種功能,可以增強(qiáng)圖像、音頻等數(shù)據(jù)的多樣性。下面我們來介紹Python++中的隨機(jī)噪聲使用。
import numpy as np
import random
def random_noise(data, level):
noise = np.zeros_like(data)
height, width = data.shape
for i in range(height):
for j in range(width):
r = random.random()
if r< level:
noise[i, j] = random.randint(0, 255)
else:
noise[i, j] = data[i, j]
return noise
if __name__ == '__main__':
image = np.zeros((256, 256), dtype=np.uint8)
image[128:192, 128:192] = 255
noise_img = random_noise(image, 0.1)
cv2.imshow('image', image)
cv2.imshow('noise_img', noise_img)
cv2.waitKey(0)
上述代碼通過導(dǎo)入numpy和random模塊,自定義了一個(gè)`random_noise`函數(shù),用于添加隨機(jī)噪聲。函數(shù)中,`noise`數(shù)組用于存儲(chǔ)隨機(jī)噪聲值,使用`random.random()`生成0到1之間的隨機(jī)數(shù),如果該隨機(jī)數(shù)小于噪聲級(jí)別`level`,則在當(dāng)前像素處添加隨機(jī)噪聲。最后,將添加噪聲后的數(shù)組返回。
在程序最后,創(chuàng)建一個(gè)全黑的`256*256`大小的圖片,并在其中心區(qū)域生成一個(gè)白色矩形。然后調(diào)用`random_noise`函數(shù),對(duì)該圖片添加10%的噪聲,并將添加噪聲后的圖片顯示出來。
通過對(duì)程序中的`level`參數(shù)進(jìn)行調(diào)整,可以得到不同的噪聲效果。除了圖像外,這種隨機(jī)噪聲也可以用于音頻、視頻等數(shù)據(jù)上,具有廣泛的應(yīng)用前景。