區域性標準差實現對比度增強

2021-09-07 02:55:40 字數 3283 閱讀 4457

一、理論

影象增強演算法的基本原則是「降低低頻區域,突出高頻區域」,以此強化邊緣,達到增強的目的。最簡單的例子就是通過原始影象減去高斯模糊處理後的影象,就能夠將邊緣強化出來。

ace的定義和原理看上去還是比較簡單的。這裡的

二、實現

涉及到區域性的運算,自然而然會想到使用卷積的方法。更好的是opencv提供了專門的函式用來做這個工作—blur

文件中寫到:

那麼正是我們想要的結果。

//ace 自適應對比度均衡研究

//by  jsxyhelu

//感謝 imageshop

#include

"stdafx.h"

#include

>

#include

"opencv2/core/core.hpp"

#include

"opencv2/highgui/highgui.hpp"

#include

"opencv2/imgproc/imgproc.hpp"

using

namespacestd;

using

namespacecv;

//點乘法 elementwisemultiplication

cv :

:mat ewm(cv

::mat m1,cv

::mat m2)

voidmain()

接下來,為了實現

前面已經計算出了區域性均值,那麼

tmp 

= src 

- meanmask;  

varmask 

= ewm(tmp,tmp);         

blur(varmask,varmask,size(

50,50));    

//varmask為區域性方差   

計算出區域性方差

//換算成區域性標準差

varmask.convertto(varmask,cv_32f);

for(

inti

=0;i

++)}

換算成區域性標準差

meanstddev(src,meanglobal,varglobal); 

//meanglobal為全域性均值 varglobal為全域性標準差

是opencv提供的全域性均值和標準差計算函式。

全部**進行重構後如下

//ace 自適應對比度均衡研究

//by  jsxyhelu

//感謝 imageshop

#include

"stdafx.h"

#include

>

#include

"opencv2/core/core.hpp"

#include

"opencv2/highgui/highgui.hpp"

#include

"opencv2/imgproc/imgproc.hpp"

using

namespacestd;

using

namespacecv;

//點乘法 elementwisemultiplication

cv :

:mat ewm(cv

::mat m1,cv

::mat m2)

//影象區域性對比度增強演算法

cv :

:mat ace(cv

::mat src,

int

=4,intn

=20,intmaxcg 

=5)

}

meanstddev(src,meanglobal,varglobal); 

//meanglobal為全域性均值 varglobal為全域性標準差

tmp2 

= varglobal

/varmask;

for(

inti

=0;i

++)}

}

tmp2.convertto(tmp2,cv_8u);

tmp2 

= ewm(tmp2,tmp);

dst 

= meanmask 

+ tmp2;

imshow(

"d方法",dst);

dst 

= meanmask 

+ c*tmp;

imshow(

"c方法",dst);

三、小結

從結果上來看,ace演算法對於特定情況下的細節增強是顯著的,但是並不是適用於所有的情況,並且其引數需要手工進行調整。了解它的特性,就能夠解決一系列的問題,有效地增強現實。

來自為知筆記(wiz)

區域性標準差實現對比度增強

一 理論 影象增強演算法的基本原則是 降低低頻區域,突出高頻區域 以此強化邊緣,達到增強的目的。最簡單的例子就是通過原始影象減去高斯模糊處理後的影象,就能夠將邊緣強化出來。ace的定義和原理看上去還是比較簡單的。這裡的 和都可以根據影象本身計算出來。而 則需要單獨計算。可以為單獨的常量,或者通過 來...

python numpy實現 標準差,方差

使用numpy可以做很多事情,在這篇文章中簡單介紹一下如何使用numpy進行方差 標準方差 樣本標準方差 協方差的計算。variance 方差 方差 variance 是概率論中最基礎的概念之一,它是由統計學天才羅納德 費雪1918年最早所提出。用於衡量資料離散程度,因為它能體現變數與其數學期望 均...

均值,方差,標準差

對於一維資料的分析,最常見的就是計算平均值 mean 方差 variance 和標準差 standard deviation 在做 特徵工程 的時候,會出現缺失值,那麼經常會用到使用 平均值 或者 中位數等進行填充。平均值平均值的概念很簡單 所有資料之和除以資料點的個數,以此表示資料集的平均大小 其...