99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenCV圖像降噪算法的中值濾波與高斯濾波詳解

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 2024-04-03 14:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 圖像噪聲

圖像降噪(Image Denoising)是指從圖像中去除噪聲的過程,目的是提高圖像質(zhì)量,增強(qiáng)圖像的視覺效果。

圖像噪聲是指圖像中不希望出現(xiàn)的隨機(jī)亮度或顏色變化,通常會(huì)降低圖像的清晰度和可辨識(shí)度,以及會(huì)降低圖像的質(zhì)量并使圖像分析和理解更加困難。

圖像噪聲主要有以下幾個(gè)原因來產(chǎn)生的:

光線不足:光線不足會(huì)導(dǎo)致光子噪聲增加,從而降低圖像的信噪比。

電子元器件的熱噪聲:電子元器件在工作時(shí)會(huì)產(chǎn)生熱噪聲,這種噪聲會(huì)影響圖像的質(zhì)量。

電路噪聲:電路中的電磁干擾也會(huì)導(dǎo)致圖像噪聲的產(chǎn)生。

圖像傳輸過程中的錯(cuò)誤:圖像在傳輸過程中可能會(huì)受到各種干擾,從而導(dǎo)致圖像噪聲的產(chǎn)生。

根據(jù)噪聲的統(tǒng)計(jì)特性來分類,可以將圖像噪聲分為以下幾類:

椒鹽噪聲:圖像中隨機(jī)出現(xiàn)黑白像素的噪聲。

高斯噪聲:最常見的噪聲類型,其概率密度函數(shù)服從高斯分布。

泊松噪聲:光子噪聲的一種類型,其概率密度函數(shù)服從泊松分布。

斑點(diǎn)噪聲:由圖像傳感器壞點(diǎn)或污點(diǎn)引起的噪聲。

下面的例子,分別展示了在圖像中添加椒鹽噪聲、高斯噪聲、泊松噪聲和斑點(diǎn)噪聲。

#include
#include
#include
#include

usingnamespacestd;
usingnamespacecv;

voidaddSaltNoise(Mat&src,intnum,Mat&dst)
{
dst=src.clone();

//隨機(jī)數(shù)產(chǎn)生器
std::random_devicerd;//種子
std::mt19937gen(rd());//隨機(jī)數(shù)引擎

autorows=src.rows;//行數(shù)
autocols=src.cols*src.channels();

for(inti=0;i(gen()%rows);
autocol=static_cast(gen()%cols);

autop=dst.ptr(row);
p[col++]=255;
p[col++]=255;
p[col]=255;
}
}

voidaddGaussianNoise(Mat&src,intmu,intsigma,Mat&dst)
{
dst=src.clone();

//產(chǎn)生高斯分布的隨機(jī)數(shù)發(fā)生器
std::random_devicerd;
std::mt19937gen(rd());

std::normal_distribution<>d(mu,sigma);

autorows=src.rows;//行數(shù)
autocols=src.cols*src.channels();//列數(shù)

for(inti=0;i(i);//取得行首指針
for(intj=0;j255?255:tmp;
tmp=tmpPixel;

voidaddPoissonNoise(constMat&src,doublelambda,Mat&dst){
dst=src.clone();

//產(chǎn)生泊松分布的隨機(jī)數(shù)生成器
std::random_devicerd;
std::mt19937gen(rd());
std::poisson_distributiondistribution(lambda);

dst.forEach([&](Pixel&p,constint*position)->void{
introw=position[0];
intcol=position[1];

intcount=distribution(gen);
dst.at(row,col)=dst.at(row,col)+Vec3b(count,count,count);
});
}

voidaddSpeckleNoise(Mat&image,doublescale,Mat&dst){
dst=image.clone();
RNGrng;

dst.forEach([&](Pixel&p,constint*position)->void{
introw=position[0];
intcol=position[1];

doublerandom_value=rng.uniform(0.0,1.0);
doublenoise_intensity=random_value*scale;
dst.at(row,col)=dst.at(row,col)+Vec3b(noise_intensity*255,noise_intensity*255,noise_intensity*255);
});
}

intmain(){
Matsrc=imread(".../girl.jpg");

imshow("src",src);

Matdst1;
addSaltNoise(src,100000,dst1);
imshow("addSaltNoise",dst1);

Matdst2;
addGaussianNoise(src,0,50,dst2);
imshow("addGaussianNoise",dst2);

Matdst3;
addPoissonNoise(src,60,dst3);
imshow("addPoissonNoise",dst3);

Matdst4;
addSpeckleNoise(src,0.5,dst4);
imshow("addSpeckleNoise",dst4);

waitKey(0);
return0;
}

2. 圖像降噪方法

傳統(tǒng)的圖像處理是基于濾波器的方式進(jìn)行降噪,比如使用空域?yàn)V波、頻域?yàn)V波、非局部均值濾波等等,還有使用形態(tài)學(xué)降噪,當(dāng)然也可以深度學(xué)習(xí)的方式進(jìn)行降噪。

本文介紹兩種空域?yàn)V波的方式進(jìn)行降噪。

2.1 中值濾波

中值濾波是一種非線性濾波器,它通過對(duì)圖像中的像素值進(jìn)行排序并取中間值來進(jìn)行濾波處理。

70432518-f105-11ee-a297-92fbcf53809c.jpg

中值濾波.png

中值濾波的特性:

對(duì)于圖像中的每個(gè)像素,選取其周圍一定區(qū)域內(nèi)的所有像素值,并對(duì)其進(jìn)行排序。

將排序后的像素值的中位數(shù)賦予該像素。

中值濾波的優(yōu)點(diǎn):

能夠有效去除椒鹽噪聲和脈沖噪聲,對(duì)圖像中的孤立噪聲點(diǎn)具有較強(qiáng)的抑制能力。

能夠較好地保留圖像的邊緣和細(xì)節(jié)信息,不會(huì)造成圖像模糊。

中值濾波的缺點(diǎn):

對(duì)高斯噪聲的去除效果不佳。

計(jì)算量相對(duì)較大,特別是對(duì)于大尺寸圖像而言。

2.2 高斯濾波

高斯濾波是一種線性平滑濾波器,它利用高斯函數(shù)對(duì)圖像進(jìn)行加權(quán)平均,可以有效地去除高斯噪聲,同時(shí)平滑圖像。

高斯濾波的優(yōu)點(diǎn):

高斯濾波具有良好的平滑效果,能夠有效地抑制圖像中的噪聲。

高斯濾波是一種線性濾波器,具有可分離性,可以提高計(jì)算效率。

高斯濾波在頻域上具有低通濾波器的特性,能夠去除圖像中的高頻噪聲。

高斯濾波的缺點(diǎn):

高斯濾波會(huì)造成圖像細(xì)節(jié)丟失,降低圖像銳度。

高斯濾波對(duì)椒鹽噪聲等非平滑噪聲的去除效果不佳。

高斯濾波以使用兩種方法實(shí)現(xiàn):一種是離散化窗口滑窗卷積,另一種方法是通過傅里葉變化。最常見的就是滑窗卷積實(shí)現(xiàn)。

先來回顧一下一維高斯函數(shù):

705908c4-f105-11ee-a297-92fbcf53809c.jpg

一維高斯函數(shù).png

其中,是 x 的均值,是 x 的方差。x 是卷積核內(nèi)任意一點(diǎn)的坐標(biāo),是卷積核中心的坐標(biāo)。當(dāng) = 0 時(shí),

由于圖像是二維的,二維的高斯函數(shù)則是對(duì) x、y 兩個(gè)方向的一維高斯函數(shù)的乘積:

當(dāng)時(shí),就是我們比較熟悉的二維高斯函數(shù)公式:

7073b8d6-f105-11ee-a297-92fbcf53809c.jpg

二維高斯函數(shù).png

常用的高斯模板有如下幾種形式,它們是基于高斯函數(shù)計(jì)算出來的。

7084bce4-f105-11ee-a297-92fbcf53809c.jpg

高斯模版.png

高斯濾波具有以下性質(zhì):

線性: 高斯濾波器是線性的,這意味著它可以與其他濾波器組合使用。例如,可以先使用高斯濾波器去除噪聲,然后再使用邊緣檢測濾波器檢測邊緣。

可分離性: 高斯濾波器可以分離為兩個(gè)一維濾波器,即水平方向和垂直方向的濾波器。這使得高斯濾波器的計(jì)算效率更高。

傅里葉變換: 高斯濾波器的傅里葉變換是一個(gè)低通濾波器,這意味著它可以抑制圖像中的高頻成分,而保留低頻成分。

旋轉(zhuǎn)不變性: 高斯濾波器在各個(gè)方向上具有相同的平滑效果,這意味著它不會(huì)改變圖像的旋轉(zhuǎn)方向。

尺度不變性: 高斯濾波器的尺度可以通過調(diào)整高斯函數(shù)的標(biāo)準(zhǔn)差來控制。標(biāo)準(zhǔn)差越大,濾波器的平滑效果越強(qiáng)。

下面的例子,分別使用中值濾波和高斯濾波消除椒鹽噪聲和高斯噪聲。

intmain(){
Matsrc=imread(".../girl.jpg");

imshow("src",src);

Matresult;

Matdst1;
addSaltNoise(src,100000,dst1);
imshow("addSaltNoise",dst1);

inta=7;
medianBlur(dst1,result,a);
imshow("removeSaltNoise",result);

Matdst2;
addGaussianNoise(src,0,50,dst2);
imshow("addGaussianNoise",dst2);

GaussianBlur(dst2,result,Size(15,15),0,0);
imshow("removeGaussianNoise",result);

waitKey(0);
return0;
}

3. 總結(jié)

圖像降噪可以提高圖像質(zhì)量、提高圖像分析和處理的準(zhǔn)確性、提高圖像壓縮效率以及擴(kuò)展圖像應(yīng)用范圍。

本文介紹了兩種簡單的降噪算法。中值濾波適用于去除椒鹽噪聲和脈沖噪聲,常用于圖像修復(fù)和增強(qiáng)。高斯濾波適用于去除高斯噪聲、平滑圖像,常用于圖像預(yù)處理和模糊處理。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 濾波器
    +關(guān)注

    關(guān)注

    162

    文章

    8137

    瀏覽量

    182048
  • 高斯濾波
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    8146
  • 電磁干擾
    +關(guān)注

    關(guān)注

    36

    文章

    2392

    瀏覽量

    106570
  • 圖像降噪
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    6751
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42886

原文標(biāo)題:OpenCV圖像降噪算法之中值濾波與高斯濾波

文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于FPGA的中值濾波算法實(shí)現(xiàn)

    一些黑白色的斑點(diǎn),我以為是椒鹽噪聲,然后在做基于FPGA的中值濾波算法的實(shí)驗(yàn)時(shí),我發(fā)現(xiàn)黑白斑點(diǎn)并沒有消除,中值濾波本來是可以很好的濾掉椒鹽噪
    發(fā)表于 09-01 07:04

    基于醫(yī)學(xué)圖像的有效中值濾波算法研究

    本文對(duì)于由Visible Human 所提供的人體CT 圖像序列所形成的體數(shù)據(jù)場,提出了一種有效的快速中值濾波方法。中值濾波是一種非常有用的
    發(fā)表于 08-13 14:39 ?10次下載

    一種改進(jìn)的各向異性高斯濾波算法

    一種改進(jìn)的各向異性高斯濾波算法摘 要:為了抑制更好的抑制噪聲保留邊緣信息, 提出了一種各向異性高斯濾波的改進(jìn)方法, 該方法先用
    發(fā)表于 04-23 14:59 ?19次下載

    ×字形濾波窗口在Matlab自適應(yīng)中值濾波算法中的應(yīng)用

    本文對(duì)Matlab工具箱中的中值濾波算法進(jìn)行改進(jìn),提出一種基于×字形濾波窗口的自適應(yīng)中值濾波
    發(fā)表于 07-08 08:55 ?2842次閱讀
    ×字形<b class='flag-5'>濾波</b>窗口在Matlab自適應(yīng)<b class='flag-5'>中值</b><b class='flag-5'>濾波</b><b class='flag-5'>算法</b>中的應(yīng)用

    測井圖像的多級(jí)中值濾波算法及其FPGA實(shí)現(xiàn)

    微電阻率成像測井儀傳輸上來的地層信息數(shù)據(jù)需要濾波處理后才能真實(shí)地反映出地層中油層的信息,而中值濾波圖像預(yù)處理中常用的技術(shù)。本文介紹了標(biāo)準(zhǔn)中值
    發(fā)表于 12-31 09:20 ?8次下載

    基于FPGA的實(shí)時(shí)圖像中值濾波算法及實(shí)現(xiàn)_蔣濤

    基于FPGA的實(shí)時(shí)圖像中值濾波算法及實(shí)現(xiàn)_蔣濤
    發(fā)表于 03-19 11:38 ?15次下載

    基于FPGA灰度圖像高斯濾波算法的實(shí)現(xiàn)

    FPGA仿真篇-使用腳本命令來加速仿真二 基于FPGA的HDMI高清顯示借口驅(qū)動(dòng) 基于FPGA灰度圖像高斯濾波算法的實(shí)現(xiàn) FPGA為什么比CPU和GPU快 基于Xilinx FPGA的
    發(fā)表于 02-20 20:49 ?7831次閱讀
    基于FPGA灰度<b class='flag-5'>圖像</b><b class='flag-5'>高斯</b><b class='flag-5'>濾波</b><b class='flag-5'>算法</b>的實(shí)現(xiàn)

    圖像處理基礎(chǔ)自適應(yīng)中值濾波器(基于OpenCV實(shí)現(xiàn))

    本文主要介紹了自適應(yīng)的中值濾波器,并基于OpenCV實(shí)現(xiàn)了該濾波器,并且將自適應(yīng)的中值濾波器和常
    的頭像 發(fā)表于 03-05 17:02 ?1.2w次閱讀
    <b class='flag-5'>圖像</b>處理基礎(chǔ)自適應(yīng)<b class='flag-5'>中值</b><b class='flag-5'>濾波</b>器(基于<b class='flag-5'>OpenCV</b>實(shí)現(xiàn))

    圖像加窗中值濾波算法的研究分析

    提出了一種實(shí)用的圖像濾波算法,即圖像加窗中值濾波算法
    發(fā)表于 11-30 11:11 ?4次下載
    <b class='flag-5'>圖像</b>加窗<b class='flag-5'>中值</b><b class='flag-5'>濾波</b><b class='flag-5'>算法</b>的研究分析

    四種常見的圖像濾波算法介紹

    濾波算法,并附上源碼,包括自適應(yīng)中值濾波、高斯濾波、雙邊濾波
    的頭像 發(fā)表于 02-15 09:50 ?1.1w次閱讀

    如何使用FPGA實(shí)現(xiàn)圖像中值濾波算法

    圖像濾波圖像預(yù)處理過程中葦要的組成部分,而基于FPGA的濾波算法相對(duì)軟件算法而言具有高度的并行
    發(fā)表于 04-01 11:21 ?42次下載
    如何使用FPGA實(shí)現(xiàn)<b class='flag-5'>圖像</b>的<b class='flag-5'>中值</b><b class='flag-5'>濾波</b><b class='flag-5'>算法</b>

    labview圖像中值濾波實(shí)例分享

    labview圖像中值濾波實(shí)例分享
    發(fā)表于 12-15 14:55 ?36次下載

    2D中值濾波算法的設(shè)計(jì)實(shí)現(xiàn)

    該項(xiàng)目包含使用高級(jí)綜合 (HLS) 的 2D 中值濾波算法的實(shí)現(xiàn)。該項(xiàng)目的目標(biāo)是在不到 3 ms的時(shí)間內(nèi)對(duì)測試圖像進(jìn)行去噪,同時(shí)消耗不到 25% 的可用 PL 資源。
    的頭像 發(fā)表于 07-12 15:19 ?1171次閱讀
    2D<b class='flag-5'>中值</b><b class='flag-5'>濾波</b><b class='flag-5'>算法</b>的設(shè)計(jì)實(shí)現(xiàn)

    高斯濾波和雙邊濾波的區(qū)別

    高斯濾波和雙邊濾波圖像處理中都是常用的平滑濾波技術(shù),但它們之間存在一些顯著的區(qū)別。以下是兩者之間的主要區(qū)別: 一、基本原理
    的頭像 發(fā)表于 09-29 09:37 ?1185次閱讀

    圖像高斯濾波的原理及FPGA實(shí)現(xiàn)思路

    1.概念 高斯分布 圖像濾波高斯濾波介紹 圖像處理算法
    的頭像 發(fā)表于 12-07 09:12 ?1903次閱讀
    <b class='flag-5'>圖像</b><b class='flag-5'>高斯</b><b class='flag-5'>濾波</b>的原理及FPGA實(shí)現(xiàn)思路