欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用opencv對圖像添加噪聲(高斯/椒鹽/泊松/斑點)

 更新時間:2022年04月06日 10:08:44   作者:修煉之路  
這篇文章主要介紹了python使用opencv對圖像添加噪聲(高斯/椒鹽/泊松/斑點),具有一定的學習價值,需要的小伙伴可以參考一下,希望對你有所幫助

導讀:

這篇文章主要介紹如何利用opencv來對圖像添加各類噪聲,原圖:

1、高斯噪聲

高斯噪聲就是給圖片添加一個服從高斯分布的噪聲,可以通過調(diào)節(jié)高斯分布標準差(sigma)的大小來控制添加噪聲程度,sigma越大添加的噪聲越多圖片損壞的越厲害

#讀取圖片
img = cv2.imread("demo.png")
#設置高斯分布的均值和方差
mean = 0
#設置高斯分布的標準差
sigma = 25
#根據(jù)均值和標準差生成符合高斯分布的噪聲
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)

2、椒鹽噪聲

椒鹽噪聲就是給圖片添加黑白噪點,椒指的是黑色的噪點(0,0,0)鹽指的是白色的噪點(255,255,255),通過設置amount來控制添加噪聲的比例,值越大添加的噪聲越多,圖像損壞的更加嚴重

#讀取圖片
img = cv2.imread("demo.png")
#設置添加椒鹽噪聲的數(shù)目比例
s_vs_p = 0.5
#設置添加噪聲圖像像素的數(shù)目
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)

3、泊松噪聲

#讀取圖片
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)

4、speckle噪聲

#讀取圖片
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對圖像添加噪聲(高斯/椒鹽/泊松/斑點)的文章就介紹到這了,更多相關python使用opencv內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 舉例講解Python中的算數(shù)運算符的用法

    舉例講解Python中的算數(shù)運算符的用法

    這篇文章主要介紹了舉例講解Python中的算數(shù)運算符的用法,是Python學習當中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • Python中的pyecharts庫使用總結

    Python中的pyecharts庫使用總結

    這篇文章主要介紹了Python中的pyecharts庫使用總結,Pyecharts 提供了一個簡單而直觀的 API 接口,使得使用者無需了解復雜的 JavaScript 語法,即可通過 Python 代碼實現(xiàn)高度定制化的圖表設計,需要的朋友可以參考下
    2023-12-12
  • 一文搞懂Python中pandas透視表pivot_table功能

    一文搞懂Python中pandas透視表pivot_table功能

    透視表是一種可以對數(shù)據(jù)動態(tài)排布并且分類匯總的表格格式?;蛟S大多數(shù)人都在Excel使用過數(shù)據(jù)透視表,也體會到它的強大功能,而在pandas中它被稱作pivot_table,今天通過本文給大家介紹Python中pandas透視表pivot_table功能,感興趣的朋友一起看看吧
    2021-11-11
  • 獲取python的list中含有重復值的index方法

    獲取python的list中含有重復值的index方法

    今天小編就為大家分享一篇獲取python的list中含有重復值的index方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python3 shutil(高級文件操作模塊)實例用法總結

    Python3 shutil(高級文件操作模塊)實例用法總結

    在本篇文章里小編給大家整理的是一篇關于Python3 shutil實例用法內(nèi)容,有興趣的朋友們可以學習下。
    2020-02-02
  • Python一鍵查找iOS項目中未使用的圖片、音頻、視頻資源

    Python一鍵查找iOS項目中未使用的圖片、音頻、視頻資源

    這篇文章主要介紹了Python-一鍵查找iOS項目中未使用的圖片、音頻、視頻資源,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2019-08-08
  • Python3 pickle對象串行化代碼實例解析

    Python3 pickle對象串行化代碼實例解析

    這篇文章主要介紹了Python3 pickle對象串行化代碼實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • 在Python中append以及extend返回None的例子

    在Python中append以及extend返回None的例子

    今天小編就為大家分享一篇在Python中append以及extend返回None的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python?OpenCV超詳細講解基本功能

    Python?OpenCV超詳細講解基本功能

    OpenCV用C++語言編寫,它具有C?++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac?OS,OpenCV主要傾向于實時視覺應用,并在可用時利用MMX和SSE指令,本篇文章帶你了解OpenCV的基本功能
    2022-04-04
  • 詳解Python字符串對象的實現(xiàn)

    詳解Python字符串對象的實現(xiàn)

    本文介紹了 python 內(nèi)部是如何管理字符串對象,以及字符串查找操作是如何實現(xiàn)的,感興趣的小伙伴們可以參考一下
    2015-12-12

最新評論