国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

OpenCV學(xué)習(xí)筆記(十一)——圖像噪聲的生成(椒鹽噪聲、高斯噪聲)

這篇具有很好參考價(jià)值的文章主要介紹了OpenCV學(xué)習(xí)筆記(十一)——圖像噪聲的生成(椒鹽噪聲、高斯噪聲)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


圖像在獲取和傳輸過程種會(huì)受到隨機(jī)信號(hào)的干擾從而產(chǎn)生噪聲,例如電阻引起的熱噪聲、光子噪聲、暗電流噪聲以及光響應(yīng)非均勻性噪聲等,由于噪聲會(huì)影響對(duì)圖像的理解以及后續(xù)的處理工作,因此去除噪聲的影響在圖像中具有十分重要的意義。圖像中常見的噪聲有:椒鹽噪聲、高斯噪聲、泊松噪聲和乘性噪聲。本文將介紹椒鹽噪聲和高斯噪聲產(chǎn)生的原因和如何在圖像中添加噪聲。生成的含有噪聲的圖像可以應(yīng)用于后續(xù)的濾波處理中。

1 椒鹽噪聲

椒鹽噪聲又稱作脈沖噪聲,會(huì)隨機(jī)改變圖像中的像索值,是相機(jī)、傳輸通道、解碼處理等過程中產(chǎn)生的黑白相間的亮暗點(diǎn)噪聲。它就像在圖像上隨機(jī)撒上的一些鹽粒 和黑胡椒粒,因此而得名。OpenCV4 中沒有提供專門為圖像添加椒鹽噪聲的函數(shù),需要使用者根據(jù)自己需求編寫生成椒鹽噪聲的程序。

考慮到椒鹽噪聲會(huì)隨機(jī)產(chǎn)生在圖像中的任何一個(gè)位置,因此要生成椒鹽噪聲,我們需要用到隨機(jī)數(shù)生成函數(shù)。由于NumPy在數(shù)據(jù)處理中的優(yōu)異表現(xiàn),對(duì)于隨機(jī)數(shù)的生成,我們可以使用np.random.randint()函數(shù)。

#np.random.randint()函數(shù)原型
output = np.random.randint(low
						   [, high
						   [, size
						   [, dtype]]])

其中各返回值和參數(shù)的含義分別為:
low:生成的隨機(jī)數(shù)的最小值
high:生成的隨機(jī)數(shù)的最大值
size:生成的隨機(jī)數(shù)的維度
dtype:生成的隨機(jī)數(shù)的格式

該函數(shù)可以用于隨機(jī)數(shù)的生成,并將生成的隨機(jī)數(shù)通過值返回。生成的隨機(jī)數(shù)范圍是[low,high),包括low但不包括high 。

向圖像中添加椒鹽噪聲的步驟如下:
(1)確定添加椒鹽噪聲的位置。根據(jù)椒鹽噪聲會(huì)隨機(jī)出現(xiàn)在圖像中的任何一個(gè)位置的特性, 我們可以利用np.random.randint()函數(shù)生成兩個(gè)隨機(jī)數(shù),分別用于確定椒鹽噪聲產(chǎn)生的行和列。

(2)確定噪聲的種類。不僅椒鹽噪聲的位置是隨機(jī)的,噪聲是黑色的還是白色同樣是隨機(jī)的,因此可以再次生成隨機(jī)數(shù),通過判斷隨機(jī)數(shù)是0還是1來確定該像素是白色噪聲還是黑色噪聲。

(3)修改圖像像素的灰度值。判斷圖像通道數(shù),對(duì)于通道數(shù)不同的圖像,表示像素白色的方式也不相同。若圖像為多通道的,則每個(gè)通道中的值都將改變;否則,只需要改變單通道中的一個(gè)值。

(4)得到含有椒鹽噪聲的圖像。

示例代碼

#  -*- coding:utf-8 -*-
import cv2 as cv
import numpy as np
import sys


def add_noisy(image, n=10000):
    result = image.copy()
    w, h = image.shape[:2]
    for i in range(n):
        # 分別在寬和高的范圍內(nèi)生成一個(gè)隨機(jī)值,模擬代表x, y坐標(biāo)
        x = np.random.randint(1, w)
        y = np.random.randint(1, h)
        if np.random.randint(0, 2) == 0:
            # 生成白色噪聲(鹽噪聲)
            result[x, y] = 0
        else:
            # 生成黑色噪聲(椒噪聲)
            result[x, y] = 255
    return result


if __name__ == '__main__':
    # 讀取圖像并判斷是否讀取成功
    img = cv.imread('../images/cat.jpg')
    if img is None:
        print('Failed to read cat.jpg.')
        sys.exit()
    # 灰度圖像添加椒鹽噪聲
    gray_image = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
    gray_image_noisy = add_noisy(gray_image, 10000)
    # 彩色圖像添加椒鹽噪聲
    color_image_noisy = add_noisy(img, 10000)

    # 展示結(jié)果
    cv.imshow("Gray Image", gray_image)
    cv.imshow("Gray Image Noisy", gray_image_noisy)
    cv.imshow("Color Image", img)
    cv.imshow("Color Image Noisy", color_image_noisy)
    cv.waitKey(0)
    cv.destroyAllWindows()

運(yùn)行結(jié)果如下圖所示。
OpenCV學(xué)習(xí)筆記(十一)——圖像噪聲的生成(椒鹽噪聲、高斯噪聲)

2 高斯噪聲

高斯噪聲是指噪聲分布的概率密度函數(shù)服從高斯分布(正態(tài)分布)的一類噪聲,其產(chǎn)生的主要原因是在拍攝時(shí)視場(chǎng)較暗且亮度不均勻,這會(huì)產(chǎn)生高斯噪聲。除此之外,電子元器件自身的噪聲和它們互相影響也是造成高斯噪聲的重要原因。高斯噪聲的概率密度函數(shù)如下式所示。
p ( z ) = 1 2 π σ e ? ( z ? μ ) 2 2 σ 2 p(z)=\frac{1}{\sqrt{2 \pi} \sigma} \mathrm{e}^{\frac{-(z-\mu)^{2}}{2 \sigma^{2}}} p(z)=2π ?σ1?e2σ2?(z?μ)2?
其中, z z z 表示圖像像素的灰度值; μ \mu μ 表示像素值的平均值或期望值;
σ \sigma σ 表示像素的標(biāo)準(zhǔn)差,標(biāo)準(zhǔn)差的平方 ( σ 2 ) (\sigma^2) (σ2)。椒鹽噪聲隨機(jī)出現(xiàn)在圖像中的任意位置,高斯噪聲出現(xiàn)在圖像中所有位置。

OpenCV4中沒有專門提供為圖像添加高斯噪聲的函數(shù),對(duì)照在圖像中添加椒鹽噪聲的過程,我們可以利用產(chǎn)生隨機(jī)數(shù)的函數(shù)來對(duì)圖像添加高斯噪聲。NumPy中提供了可以產(chǎn)生符合高斯分布(正態(tài)分布)的隨機(jī)數(shù)的 np.random.normal()函數(shù)。

#np.random.normal()函數(shù)原型
output = np.random.normal(loc,
						  scale
						  [, size])

其中各返回值和參數(shù)的含義分別為:
loc:高斯分布的平均值
scale:高斯分布的標(biāo)準(zhǔn)差
size:輸出的隨機(jī)數(shù)據(jù)維度

該函數(shù)用于生成一個(gè)指定形狀的符合高斯分布的隨機(jī)數(shù),并將生成的結(jié)果通過值返回。第1個(gè)參數(shù)對(duì)應(yīng)整個(gè)高斯分布的中心。第2個(gè)參數(shù)對(duì)應(yīng)高斯分布的寬度。scale 值越大,分布越扁平;反之,分布越高聳。第3個(gè)參數(shù)為可選參數(shù),可根據(jù)需求進(jìn)行輸出尺寸的設(shè)置,若未指定,則僅輸出單個(gè)值。當(dāng)參數(shù)loc設(shè)置為0,scale 設(shè)置為1時(shí),即代表標(biāo)準(zhǔn)正態(tài)分布。

在圖像中添加高斯噪聲的過程大致分為以下3個(gè)步驟。

(1) 根據(jù)圖像尺寸,使用np.random.normal()函數(shù)生成符合高斯分布的隨機(jī)數(shù)矩陣。

(2)將原圖像和生成的隨機(jī)數(shù)矩陣相加。

(3)得到添加高斯噪聲之后的圖像。

依照上述思想,示例程序用于對(duì)灰度圖像和彩色圖像添加高斯噪聲。由于高斯噪聲是隨機(jī)生成的,因此每次運(yùn)行結(jié)果會(huì)有差異。

示例代碼

#  -*- coding:utf-8 -*-
import cv2 as cv
import numpy as np
import sys


def add_noise(image, mean=0, val=0.01):
    size = image.shape
    image = image / 255
    gauss = np.random.normal(mean, val ** 0.5, size)
    noise = image + gauss
    return gauss, noise


if __name__ == '__main__':
    # 讀取圖像并判斷是否讀取成功
    img = cv.imread('../images/cat.jpg')
    if img is None:
        print('Failed to read cat.jpg.')
        sys.exit()
    # 灰度圖像添加高斯噪聲
    gray_image = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
    gray_gauss, gray_noisy_image = add_noise(gray_image)
    # 彩色圖像添加高斯噪聲
    color_gauss, color_noisy_image = add_noise(img)

    # 展示結(jié)果
    cv.imshow("Gray Image", gray_image)
    cv.imshow("Gray Noisy Image", gray_noisy_image)
    cv.imshow("Color Image", img)
    cv.imshow("Color Noisy Image", color_noisy_image)
    cv.waitKey(0)
    cv.destroyAllWindows()

運(yùn)行結(jié)果如下圖所示,結(jié)果中展示了向灰度圖象和RGB圖像中添加高斯噪聲的結(jié)果。
OpenCV學(xué)習(xí)筆記(十一)——圖像噪聲的生成(椒鹽噪聲、高斯噪聲)文章來源地址http://www.zghlxwxcb.cn/news/detail-442026.html

到了這里,關(guān)于OpenCV學(xué)習(xí)筆記(十一)——圖像噪聲的生成(椒鹽噪聲、高斯噪聲)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 圖像處理:隨機(jī)添加椒鹽噪聲和高斯噪聲Python

    圖像處理:隨機(jī)添加椒鹽噪聲和高斯噪聲Python

    目錄 圖像處理:隨機(jī)添加椒鹽噪聲和高斯噪聲Python 1.常見的圖像噪聲 (1)高斯噪聲 (2) 椒鹽噪聲 2.生成圖像噪聲 (1)高斯噪聲 (2) 椒鹽噪聲(速度慢) (3) 椒鹽噪聲(快速版) 3. Demo測(cè)試 ? ? ? ??圖像噪聲是指存在于圖像數(shù)據(jù)中的不必要的或多余的干擾信息。在噪

    2024年02月02日
    瀏覽(23)
  • 【數(shù)字圖像處理】灰度圖像中添加高斯噪聲、椒鹽噪聲、斑點(diǎn)噪聲以及利用不同方法(中值、排序、維納濾波)去除各種噪聲的matlab程序

    【數(shù)字圖像處理】灰度圖像中添加高斯噪聲、椒鹽噪聲、斑點(diǎn)噪聲以及利用不同方法(中值、排序、維納濾波)去除各種噪聲的matlab程序

    圖像處理問題描述: 1、圖像中分別加入不同方差的高斯噪聲、不同噪聲密度椒鹽噪聲和不同方差的斑點(diǎn)噪聲(Gaussian noise, salt ?pepper noise and speckle noise) 2、分別通過函數(shù)medfilt2、ordfilt2和?Wiener 2 去除圖像中添加的一些噪聲(Gaussian noise, salt ?pepper noise and speckle noise)。 各部

    2024年02月07日
    瀏覽(30)
  • 01:高斯噪聲和椒鹽噪聲

    01:高斯噪聲和椒鹽噪聲

    記錄一下手寫椒鹽噪聲和高斯噪聲的python程序。 效果圖如下: 椒鹽噪聲和高斯噪聲都是數(shù)字圖像處理中常見的噪聲類型。 1.椒鹽噪聲是 隨機(jī)的黑色和白色像素點(diǎn) 混雜在圖像中,使得圖像中的一些像素點(diǎn)變得十分明顯且不規(guī)則。椒鹽噪聲可能由于傳感器損壞、傳輸錯(cuò)誤、壓縮

    2024年02月05日
    瀏覽(16)
  • 【OpenCV ? c++】圖像噪音 | 椒鹽噪音 | 高斯噪音

    ??圖像噪聲是圖像在獲取或是傳輸過程中受到隨機(jī)信號(hào)干擾,妨礙人們對(duì)圖像理解及分析處理的信號(hào)。很多時(shí)候?qū)D像噪聲看做多維隨機(jī)過程,因而描述噪聲的方法完全可以借用隨機(jī)過程的描述, 也就是用它的概率分布函數(shù)和概率密度分布函數(shù)。圖像噪聲的產(chǎn)生來自圖像獲

    2024年02月08日
    瀏覽(15)
  • Opencv-圖像噪聲(均值濾波、高斯濾波、中值濾波)

    Opencv-圖像噪聲(均值濾波、高斯濾波、中值濾波)

    圖像噪聲是圖像處理中常見的問題,它是由于各種原因引入的不希望的隨機(jī)變化或干擾,導(dǎo)致圖像質(zhì)量下降。噪聲可以出現(xiàn)在圖像的亮度、顏色和紋理等方面,對(duì)圖像分析、計(jì)算機(jī)視覺和圖像處理任務(wù)造成困難。為了減少或消除圖像中的噪聲,常常使用不同類型的濾波技術(shù)。

    2024年02月04日
    瀏覽(97)
  • Matlab實(shí)現(xiàn)圖像添加椒鹽噪聲及中值濾波/均值濾波去除

    Matlab實(shí)現(xiàn)圖像添加椒鹽噪聲及中值濾波/均值濾波去除

    椒鹽噪聲(peppersalt noise)由胡椒噪聲(pepper noise)和鹽噪聲(salt noise)組成。一般因圖像傳感器,傳輸信道等處產(chǎn)生,由黑白相間的亮暗點(diǎn)噪聲組成。 黑點(diǎn)可以看出胡椒,白點(diǎn)可以看成鹽。 下面為使用matlab自帶的函數(shù)對(duì)圖像添加椒鹽噪聲的代碼和添加后的結(jié)果。 均值濾波

    2024年02月11日
    瀏覽(23)
  • python3圖像加高斯噪聲

    python3圖像加高斯噪聲

    高斯噪聲是指它的概率密度函數(shù)服從高斯分布(即正態(tài)分布)的一類噪聲。常見的高斯噪聲包括起伏噪聲、宇宙噪聲、熱噪聲和散粒噪聲等等。 除常用抑制噪聲的方法外,對(duì)高斯噪聲的抑制方法常常采用數(shù)理統(tǒng)計(jì)方法。 高斯白噪聲:如果一個(gè)噪聲,它的幅度分布服從高斯分

    2024年02月08日
    瀏覽(21)
  • 基于FPGA的高斯白噪聲的生成(中心極限定理)

    基于FPGA的高斯白噪聲的生成(中心極限定理)

    大家可以在網(wǎng)上查詢中心極限定理的定理和解釋。中心極限定理意思就是說在一組服從均勻分布的數(shù)據(jù)中,隨機(jī)抽取選取m個(gè)數(shù),然后求這個(gè)m個(gè)數(shù)的平均值,這個(gè)平均數(shù)作為x1。繼續(xù)隨機(jī)抽取m個(gè)數(shù),求這m個(gè)數(shù)的平均值,作為x2,就這樣一直抽取n組數(shù),也就是獲得n個(gè)的數(shù),每一

    2024年02月10日
    瀏覽(26)
  • Opencv-C++筆記 (13) : opencv-圖像卷積一(均值、中值、高斯、雙邊濾波)與 邊緣處理

    Opencv-C++筆記 (13) : opencv-圖像卷積一(均值、中值、高斯、雙邊濾波)與 邊緣處理

    頭文件 quick_opencv.h:聲明類與公共函數(shù) 主函數(shù)調(diào)用 src:輸入圖像 。 dst:輸出圖像 。 ksize:內(nèi)核大小 ,一般用 Size(w,h),w 為寬度,h 為深度。 anchor:被平滑的點(diǎn),表示取 內(nèi)核中心 ,默認(rèn)值 Point(-1,-1)。 boderType:推斷圖像外部像素的某種邊界模式。默認(rèn)值 BORDER_DEFAULT 目的:

    2024年02月16日
    瀏覽(920)
  • 計(jì)算機(jī)視覺學(xué)習(xí)筆記(圖像的灰度與灰度級(jí) 圖像的深度 圖像噪聲 圖像處理)

    如果把白色和黑色之間按對(duì)數(shù)關(guān)系分為若干等級(jí),稱為灰度,灰度分為256階,0為黑色,灰度就是沒有色彩,RGB色彩分量全部相等(150,150,150)就代表灰度為150. 一幅圖像中不同位置的亮度是不一樣的,可用f(x,y)來表示(x,y)上的亮度。由于光是一種能量形式,因此亮度是非負(fù)

    2024年02月01日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包