您好,登錄后才能下訂單哦!
本篇內容主要講解“python怎么使用opencv對圖像添加噪聲”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python怎么使用opencv對圖像添加噪聲”吧!
高斯噪聲就是給圖片添加一個服從高斯分布的噪聲,可以通過調節高斯分布標準差(sigma)的大小來控制添加噪聲程度,sigma
越大添加的噪聲越多圖片損壞的越厲害
#讀取圖片 img = cv2.imread("demo.png") #設置高斯分布的均值和方差 mean = 0 #設置高斯分布的標準差 sigma = 25 #根據均值和標準差生成符合高斯分布的噪聲 gauss = np.random.normal(mean,sigma,(img_height,img_width,img_channels)) #給圖片添加高斯噪聲 noisy_img = image + gauss #設置圖片添加高斯噪聲之后的像素值的范圍 noisy_img = np.clip(noisy_img,a_min=0,a_max=255) #保存圖片 cv2.imwrite("noisy_img.png",noise_img)
椒鹽噪聲就是給圖片添加黑白噪點,椒指的是黑色的噪點(0,0,0)鹽指的是白色的噪點(255,255,255),通過設置amount
來控制添加噪聲的比例,值越大添加的噪聲越多,圖像損壞的更加嚴重
#讀取圖片 img = cv2.imread("demo.png") #設置添加椒鹽噪聲的數目比例 s_vs_p = 0.5 #設置添加噪聲圖像像素的數目 amount = 0.04 noisy_img = np.copy(image) #添加salt噪聲 num_salt = np.ceil(amount * image.size * s_vs_p) #設置添加噪聲的坐標位置 coords = [np.random.randint(0,i - 1, int(num_salt)) for i in image.shape] noisy_img[coords] = 255 #添加pepper噪聲 num_pepper = np.ceil(amount * image.size * (1. - s_vs_p)) #設置添加噪聲的坐標位置 coords = [np.random.randint(0,i - 1, int(num_pepper)) for i in image.shape] noisy_img[coords] = 0 #保存圖片 cv2.imwrite("noisy_img.png",noise_img)
#讀取圖片 img = cv2.imread("demo.png") #計算圖像像素的分布范圍 vals = len(np.unique(image)) vals = 2 ** np.ceil(np.log2(vals)) #給圖片添加泊松噪聲 noisy_img = np.random.poisson(image * vals) / float(vals) #保存圖片 cv2.imwrite("noisy_img.png",noise_img)
#讀取圖片 img = cv2.imread("demo.png") #隨機生成一個服從分布的噪聲 gauss = np.random.randn(img_height,img_width,img_channels) #給圖片添加speckle噪聲 noisy_img = image + image * gauss #歸一化圖像的像素值 noisy_img = np.clip(noisy_img,a_min=0,a_max=255) #保存圖片 cv2.imwrite("noisy_img.png",noise_img)
到此,相信大家對“python怎么使用opencv對圖像添加噪聲”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。