二、數(shù)字圖像處理基本運(yùn)算

一、圖像的像素級(jí)運(yùn)算

點(diǎn)運(yùn)算

? ? ? ? 點(diǎn)運(yùn)算具有如下特點(diǎn):1)點(diǎn)運(yùn)算針對(duì)圖像中的每一個(gè)像素灰度,獨(dú)立地進(jìn)行灰度值的改變;2)輸出圖像中每個(gè)像素點(diǎn)的灰度值,僅取決于相應(yīng)輸入像素點(diǎn)的值;3)點(diǎn)運(yùn)算不改變圖像內(nèi)的空間關(guān)系;4)從像素到像素的操作;5)點(diǎn)運(yùn)算可完全由灰度變換函數(shù)或灰度映射表確定。

線(xiàn)性點(diǎn)運(yùn)算

\\D_{out}=f(D_{in})=aD_{in}+b

圖1.1 線(xiàn)性點(diǎn)運(yùn)算示例

? ? ? ? 具體一點(diǎn),對(duì)于一整張圖像來(lái)說(shuō):\\I_{out}(x,y)=a*I_{in}(x,y)+b

其中,對(duì)于a和b,有以下特點(diǎn):\\\begin{alignat*}{2}&a=1,b=0:\quad\quad&恒等\\&a\lt0:&黑白反轉(zhuǎn)\\&\vert a \vert>1:&增加對(duì)比度\\&\vert a \vert 0:&增加亮度\\&b</p><h3>非線(xiàn)性點(diǎn)運(yùn)算</h3><p><img class=

圖1.2 非線(xiàn)性點(diǎn)運(yùn)算示例

映射表點(diǎn)運(yùn)算

? ? ? ? 這種運(yùn)算意思很明了,就是一對(duì)一映射。實(shí)際上,上述的線(xiàn)性和非線(xiàn)性點(diǎn)運(yùn)算到最后也可以看成是映射表點(diǎn)運(yùn)算。

圖1.3 映射表點(diǎn)運(yùn)算示例

代數(shù)運(yùn)算

加法

????????加法運(yùn)算的定義:\\C(x,y)=A(x,y)+B(x,y)

主要應(yīng)用有去除“疊加性”噪音、生成圖像疊加效果等。

? ? ? ? 1)去除“疊加性”噪音。對(duì)于原圖像f(x,y),有一個(gè)噪音圖像集:\left\{g_i(x,y)\right\} \quad i=1,2,\cdots,M,其中:g_i(x,y)=f(x,y)+h(x,y)_i,M個(gè)圖像的均值定義為:g(x,y)=(g_0(x,y)+g_1(x,y)+\cdots+g_M(x,y))/M,當(dāng)噪音h(x,y)_i為互不相關(guān),且均值為0時(shí),上述圖像均值(即g(x,y))將降低噪音的影響。通過(guò)這個(gè)事實(shí),可以得出一個(gè)定理:對(duì)M幅加性噪聲圖像進(jìn)行平均,可以使圖像的平方信噪比提高M(jìn)倍。

圖1.4 去除“疊加性”噪音的示例

? ? ? ? 2)生成圖像疊加效果。對(duì)于兩個(gè)圖像f(x,y)和h(x,y)的均值有:g(x,y)=\frac{1}{2}f(x,y)+\frac{1}{2}h(x,y),這樣會(huì)得到二次曝光的效果。推廣這個(gè)公式為:g(x,y)=\alpha f(x,y)+\beta h(x,y),\quad 其中\(zhòng)alpha + \beta =1。我們可以得到各種圖像合成的效果,也可以用于兩張圖片的銜接。

圖1.5 圖像疊加示例

減法

? ? ? ? 減法的定義:\\C(x,y)=A(x,y)-B(x,y)

主要應(yīng)用有去除不需要的疊加性圖案、檢測(cè)同一場(chǎng)景兩幅圖像之間的變化等。

? ? ? ? 1)去除不需要的疊加性圖案。設(shè):背景圖像b(x,y),前景背景混合圖像f(x,y)。則g(x,y)=f(x,y)-b(x,y),g(x,y)為去除了背景的圖像。電視制作的藍(lán)屏技術(shù)就基于此:

圖1.6 去除不需要的疊加性圖案示例

? ? ? ? 2)檢測(cè)同一場(chǎng)景兩幅圖像之間的變化。設(shè):時(shí)間1的圖像為T_1(x,y),時(shí)間2的圖像為T_2(x,y)。則g(x,y)=T_2(x,y)-T_1(x,y)

圖1.7 檢測(cè)同一場(chǎng)景兩幅圖像之間的變化示例

乘法

? ? ? ? 乘法的定義:\\C(x,y)=A(x,y)\times B(x,y)

主要應(yīng)用有圖形的局部顯示等。

圖1.8 用二值蒙板圖像與原圖像做乘法

除法

邏輯運(yùn)算

圖1.9 二值圖像的基本邏輯運(yùn)算概覽

求反

? ? ? ? 求反的定義:\\g(x,y)=R-f(x,y)

其中R為f(x,y)的灰度級(jí)。主要應(yīng)用有獲得一個(gè)圖像的負(fù)像、獲得一個(gè)子圖像的補(bǔ)圖像等。

圖1.9 獲得一個(gè)圖像的負(fù)像示例
圖1.10 獲得一個(gè)子圖像的補(bǔ)圖像示例

異或

? ? ? ? 異或運(yùn)算的定義:\\g(x,y)=f(x,y)\oplus h(x,y)

主要應(yīng)用有獲得相交子圖像等。

圖1.11 獲得相交子圖像示例

? ? ? ? 與運(yùn)算的定義:\\g(x,y)=f(x,y)\land h(x,y)

主要應(yīng)用有求兩個(gè)子圖像的相交子圖等。

圖1.12 求兩個(gè)子圖像的相交子圖示例

二、圖像的空域變換

? ? ? ? 在圖像空間,對(duì)圖像的形狀、像素值等進(jìn)行變化、映射等處理。

幾何變換

? ? ? ? 即改變圖像的形狀。主要有基本變換和灰度插值。

? ? ? ? 幾何變換的基本概念:對(duì)原始圖像,按照需要改變其大小、形狀和位置的變化。

? ? ? ? 變換的類(lèi)型:二維平面圖像的幾何變換、三維圖像的幾何變換、由三維向二維平面的投影變換等。

二維圖像幾何變換

? ? ? ? 定義:對(duì)于原始圖像f(x,y),坐標(biāo)變換函數(shù)\\x^{’}=a(x,y);\quad y^{’}=b(x,y)

唯一確定了幾何變換:\\g(x^{’},y^{’})=f(a(x,y),b(x,y))

? ? ? ? 二維圖像幾何變換的基本方式有多項(xiàng)式變換、透視變換等。

? ? ? ? 1)多項(xiàng)式變換?;竟剑?img class="math-inline" src="https://math.jianshu.com/math?formula=%5C%5C%5Cleft%5C%7B%0A%5Cbegin%7Barray%7D%7B2%7D%0Ax%5E%7B%E2%80%99%7D%3D%5Csum_%7Bi%3D0%7D%5E%7BM%7D%5Csum_%7Bj%3D0%7D%5E%7BN%7Da_%7Bij%7Dx_%7Bi%7Dy_j%5C%5C%0Ay%5E%7B%E2%80%99%7D%3D%5Csum_%7Bi%3D0%7D%5E%7BM%7D%5Csum_%7Bj%3D0%7D%5E%7BN%7Db_%7Bij%7Dx_%7Bi%7Dy_j%0A%5Cend%7Barray%7D%0A%5Cright." alt="\\\left\{\begin{array}{2}x^{’}=\sum_{i=0}^{M}\sum_{j=0}^{N}a_{ij}x_{i}y_j\\y^{’}=\sum_{i=0}^{M}\sum_{j=0}^{N}b_{ij}x_{i}y_j\end{array}\right." mathimg="1">

線(xiàn)性變換——多項(xiàng)式變換中的一階變換:\\x^{’}=ax+by+e,\quad y^{’}=cx+dy+f

使用多項(xiàng)式變換實(shí)現(xiàn)二維圖像的幾何變換即由線(xiàn)性變換確定的圖像的平移、縮放、旋轉(zhuǎn)、鏡像與錯(cuò)切。

? ? ? ? 2)二維數(shù)字圖像基本幾何變換的矩陣計(jì)算。

? ? ? ? 原始圖像與目標(biāo)圖像之間的坐標(biāo)變換函數(shù)為線(xiàn)性函數(shù),這可以通過(guò)與之對(duì)應(yīng)的線(xiàn)性矩陣變換來(lái)實(shí)現(xiàn)。

? ? ? ? 齊次坐標(biāo)表示法——用n+1維向量表示n維向量。設(shè)有變換矩陣T,則二維圖像的基本幾何變換矩陣為:\\\left[\begin{array}{aaa}x^{’}\\y^{’}\\1\end{array}\right]=T\times \left[\begin{array}{aaa}x\\y\\1\end{array}\right]\quad\quadT=\left[\begin{matrix}a&b&e\\c&d&f\\0&0&1\end{matrix}\right]

? ? ? ? 二維圖像的基本幾何變換具有特征:1)變換前圖形上的每一點(diǎn),在變換后的圖形上都有一確定的對(duì)應(yīng)點(diǎn),如原來(lái)直線(xiàn)上的中點(diǎn)變換為新直線(xiàn)的中點(diǎn);2)平行直線(xiàn)變換后仍保持平行,相交直線(xiàn)變換后仍相交;3)變換前直線(xiàn)上的線(xiàn)段比等于變換后對(duì)應(yīng)的線(xiàn)段比。

? ? ? ? 變換矩陣T可以分解為2個(gè)子矩陣,子矩陣1:\left[\begin{matrix}a&b\\c&d \end{matrix}\right]_{2\times 2},可實(shí)現(xiàn)恒等、比例、鏡像、旋轉(zhuǎn)和錯(cuò)切變換;子矩陣2:\left[\begin{matrix}e&f\end{matrix}\right]^T,可實(shí)現(xiàn)圖像的平移變換(e=0,f=0時(shí)無(wú)平移作用)。

? ? ? ? a)平移變換(只改變圖像位置,不改變圖像的大小和形狀)。設(shè):\\a(x,y)=x+x_0;\quad b(x,y)=y+y_0;

可有:g(x^{’},y^{’})=f(x+x_0,y+y_0)

圖2.1 平移變換示例

? ? ? ? b)水平鏡像。a(x,y)=-x;b(x,y)=y;\quadT=\left[\begin{matrix}-1&0&0\\0&1&0\\0&0&1\end{matrix}\right]

圖2.2 水平鏡像示例

? ? ? ? c)垂直鏡像。a(x,y)=x;b(x,y)=-y;\quadT=\left[\begin{matrix}1&0&0\\0&-1&0\\0&0&1\end{matrix}\right]

圖2.3 垂直鏡像示例

? ? ? ? d)縮放變換:x方向縮放c倍,y方向縮放d倍\\a(x,y)=x\times c;\quad b(x,y)=y\times d;

\\\left[\begin{array}{aaa}x^{’}\\y^{’}\\1\end{array}\right]_{new}=\left[\begin{matrix}a(x,y)\\b(x,y)\\1\end{matrix}\right]_{new}=\left[\begin{matrix}\frac{1}{c}&0&0\\0&\frac{1}u0z1t8os&0\\0&0&1\end{matrix}\right]\left[\begin{array}{aaa}x\\y\\1\end{array}\right]_{old}

c,d相等,按比例縮放:

圖2.4 按比例縮放示例

c,d不相等,不按比例縮放——幾何畸變:

圖2.5 幾何畸變示例

? ? ? ? e)旋轉(zhuǎn)變換:繞原點(diǎn)旋轉(zhuǎn)\theta度。設(shè):\\\left\{\begin{array}{aa}x^{’}=xcos\theta -ysin\theta\\y^{’}=xsin\theta +ycos\theta\end{array}\right.

圖2.6 旋轉(zhuǎn)變換示意圖

\\\left[\begin{array}{aaa}x^{’}\\y^{’}\\1\end{array}\right]_{new}=\left[\begin{matrix}a(x,y)\\b(x,y)\\1\end{matrix}\right]_{new}=\left[\begin{matrix}cos(\theta)&-sin(\theta)&0\\sin(\theta)&cos(\theta)&0\\0&0&1\end{matrix}\right]\left[\begin{array}{aaa}x\\y\\1\end{array}\right]_{old}

圖2.7 旋轉(zhuǎn)變換示例

????????旋轉(zhuǎn)變換的注意點(diǎn):

? ? ? ? i)圖像旋轉(zhuǎn)之前,為了避免信息的丟失,一定有平移坐標(biāo)。具體有如下兩種方法:

圖2.8 平移坐標(biāo)方法一
圖2.9 平移坐標(biāo)方法二

? ? ? ? ii)圖像旋轉(zhuǎn)之后,會(huì)出現(xiàn)許多的空洞點(diǎn),對(duì)這些空洞點(diǎn)必須進(jìn)行填充處理,否則畫(huà)面效果不好。這種操作被稱(chēng)之為插值處理。

圖2.10 出現(xiàn)空洞點(diǎn)示例
圖2.11 插值處理示例

? ? ? ? f)錯(cuò)切變換:圖像的錯(cuò)切變換實(shí)際上是景物在平面上的非垂直投影效果。

x方向的錯(cuò)切:\\\left\{\begin{array}{aa}x^{’}=x+d_xy\\y^{’}=y\end{array}\right.\quad\left[\begin{array}{aaa}x^{’}\\y^{’}\\1\end{array}\right]_{new}=\left[\begin{matrix}1&d_x&0\\0&1&0\\0&0&1\end{matrix}\right]\left[\begin{array}{aaa}x\\y\\1\end{array}\right]_{old}

y方向的錯(cuò)切:\\\left\{\begin{array}{aa}x^{’}=x\\y^{’}=y+d_yx\end{array}\right.\quad\left[\begin{array}{aaa}x^{’}\\y^{’}\\1\end{array}\right]_{new}=\left[\begin{matrix}1&0&0\\d_y&1&0\\0&0&1\end{matrix}\right]\left[\begin{array}{aaa}x\\y\\1\end{array}\right]_{old}

圖2.12 錯(cuò)切變換示例

錯(cuò)切之后,原圖像的像素排列方向改變。與旋轉(zhuǎn)不同的是,x方向與y方向獨(dú)立變化。

? ? ? ? g)偽仿射變換——雙線(xiàn)性幾何變換:\\x^{’}=ax+by+gxy+e\\y^{’}=cx+dy+hxy+f

圖2.13 偽仿射變換示意圖

偽仿射變換有兩個(gè)特點(diǎn):與xy平面上坐標(biāo)軸平行的直線(xiàn),變換為x^{’}y^{’}平面上的直線(xiàn);與xy平面上坐標(biāo)軸不平行的直線(xiàn),變換為x^{’}y^{’}平面上的曲線(xiàn)。

? ? ? ? h)任意變形變換——非線(xiàn)性幾何變換??梢杂幸韵聝煞N作用:在二維平面上,實(shí)現(xiàn)圖像幾何形狀的任意變換;在二維平面上,校正圖像的幾何失真。

圖2.14 實(shí)現(xiàn)圖像幾何形狀的任意變化示例
圖2.15 校正圖像的幾何失真示例

????????特征:一般的,原始圖像與目標(biāo)圖像之間,存在一一對(duì)應(yīng)的特征點(diǎn)(tiepoints,GCPs)。

圖2.16 原始圖像與目標(biāo)圖像之間特征點(diǎn)的對(duì)應(yīng)示意圖

????????模型:一般的,原始圖像與目標(biāo)圖像之間的坐標(biāo)變換函數(shù)為非線(xiàn)性函數(shù),需用高階多項(xiàng)式進(jìn)行近似描述。例如,三階多項(xiàng)式變換:\\\begin{array}{2}&x=a_0+a_1X+a_2Y+a_3X^2+a_4XY+a_5Y^2+a_6X^3+a_7X^2Y+a_8XY^2+a_9Y^3\\&y=b_0+b_1X+b_2Y+b_3X^2+b_4XY+b_5Y^2+b_6X^3+b_7X^2Y+b_8XY^2+b_9Y^3\end{array}

? ? ? ? 通過(guò)原始圖像與目標(biāo)圖像之間多個(gè)對(duì)應(yīng)特征點(diǎn)(GCP點(diǎn)),可以確定上述多項(xiàng)式中的未知參數(shù)。

? ? ? ? 多項(xiàng)式階數(shù)與GCP數(shù)量的關(guān)系:\\GCPs\geq\frac{(t+1)(t+2)}{2}\quad t:多項(xiàng)式階數(shù)

? ? ? ? 通過(guò)多項(xiàng)式變換進(jìn)行任意變形變換后的誤差,通常用均方誤差表示:\\RMS=\sqrt{\frac{\sum_{j=1}^{n}(x_{jr}-x_{ji})^2+\sum_{j=1}^{n}(y_{jr}-y_{ji})^2}{n}}

圖2.17 任意變形變換示例

? ? ? ? 3)二維圖像的透視變換。將一個(gè)平面上的點(diǎn)P(x,y),以投影中心O為基準(zhǔn),投影成另一個(gè)平面上的點(diǎn)P^{’}(x,y);可看作為三維物體向二維圖像透視投影的特殊形式。

? ? ? ? 透視投影:當(dāng)人們站在玻璃窗內(nèi)用一只眼睛觀看室外的建筑物時(shí),無(wú)數(shù)條視線(xiàn)與玻璃窗相交,把各交點(diǎn)連接起來(lái)的圖形即為透視圖。

圖2.18 透視投影示意圖

? ? ? ? 透視投影相當(dāng)于以人的眼睛為投影中心的中心投影,符合人們的視覺(jué)形象,富有較強(qiáng)的立體感和真實(shí)感。

? ? ? ? 隨著觀看角度的變化,可看到物體的一個(gè)或多個(gè)側(cè)面;在透視處理上,按照空間直角坐標(biāo)系的劃分,相應(yīng)的分為單點(diǎn)透視投影、雙點(diǎn)透視投影和三點(diǎn)透視投影。

圖2.19 單點(diǎn)、雙點(diǎn)、三點(diǎn)透視投影示例

? ? ? ? 二維圖像透視變換函數(shù)及其齊次坐標(biāo)表示為:\\x^{’}=\frac{ax+by+e}{mx+ly+1};\quady^{’}=\frac{cx+dy+f}{mx+ly+1}

\\\left[\begin{array}{}x^{’}\\y^{’}\\1\end{array}\right]=T\times \left[\begin{matrix}x\\y\\1\end{matrix}\right] ,\quadT=\left[\begin{matrix}a&b&e\\c&d&f\\m&l&1\end{matrix}\right]

與前面關(guān)于齊次變換矩陣的描述類(lèi)似,這里引入第三個(gè)子矩陣[m \quad l],實(shí)現(xiàn)圖像的透視變換。變換式中共有8個(gè)獨(dú)立的參數(shù),可采用圖像點(diǎn)對(duì)的方式(最少采用4對(duì)共8個(gè)點(diǎn)即可),進(jìn)行二維平面圖像的透視投影計(jì)算。

圖2.20 二維平面圖像的透視投影計(jì)算示例

總結(jié)基本幾何變換的特征:

? ? ? ? 1)坐標(biāo)空間的變化:范圍發(fā)生變化;大小發(fā)生變化。

? ? ? ? 2)像素值的變化:像素值不發(fā)生變化——位置改變;像素值發(fā)生變化——旋轉(zhuǎn)、縮放、變形變換。

灰度插值

? ? ? ? 1)最近鄰插值法

? ? ? ? 選擇最臨近點(diǎn)像素灰度值。如圖2.21中,(x^{’},y^{’})點(diǎn)像素的灰度值為原圖像中(x,y)點(diǎn)的像素值。

圖2.21 最近鄰插值法示例

最近鄰插值法的特點(diǎn)有:a)簡(jiǎn)單快速;b)灰度保真性好;c)誤差較大;d)視覺(jué)特性較差(容易造成馬賽克效應(yīng))。

? ? ? ? 2)雙線(xiàn)性插值法(一階插值)

? ? ? ? 如圖2.22中,有\\\begin{alignat*}{1}f^{’}(x^{’},y^{’})&=a\cdot f(x,y)+b\cdot f(x,y+1)\\f^{’’}(x^{’},y^{’})&=c\cdot f(x,y)+d\cdot f(x+1,y)\\f^{’’’}(x^{’},y^{’})&=u\cdot f(x,y+1)+v\cdot f(x+1,y+1)\\f^{’’’’}(x^{’},y^{’})&=w\cdot f(x+1,y)+z\cdot f(x+1,y+1)\end{alignat*}

圖2.22 雙線(xiàn)性插值示意圖

最終,f(x^{’},y^{’})由以上四個(gè)結(jié)果得出。

? ? ? ? 雙線(xiàn)性插值可以有簡(jiǎn)化的計(jì)算方法。如圖2.23中,即有,應(yīng)用雙曲拋物面方程:\\f(x,y)=ax+by+cxy+d

歸一化坐標(biāo)值:\\0>x>1,0>y>1

最終有:\\\begin{array}{1}f(x,y)=&[f(1,0)-f(0,0)]x+[f(0,1)-f(0,0)]y+\\&[f(1,1)+f(0,0)-f(0,1)-f(1,0)]xy+f(0,0)\end{array}

圖2.23 應(yīng)用雙曲拋物面方程簡(jiǎn)化雙線(xiàn)性插值法示例

雙曲拋物面的特點(diǎn):a)計(jì)算中較為充分地考慮相鄰各點(diǎn)的特征,具有灰度平滑過(guò)渡特點(diǎn);b)一般情況下可得到滿(mǎn)意結(jié)果;c)具有低通濾波特性,使圖像輪廓模糊;d)平滑作用使圖像細(xì)節(jié)退化,尤其在放大時(shí);e)不連續(xù)性會(huì)產(chǎn)生不希望的結(jié)果。

????????3)最佳插值函數(shù)。在滿(mǎn)足Nyquist條件下,從離散信號(hào)x(nT_s)可恢復(fù)連續(xù)信號(hào)x(t):\\x(t)=\sum_{i=-\infty}^{+\infty}x(nT_s)sinc(\frac{\pi}{T_s}(t-nT_s))

圖2.24 sinc函數(shù)示意圖

? ? ? ? 4)高階插值。如果簡(jiǎn)化計(jì)算,僅取原點(diǎn)周?chē)邢薹秶瘮?shù)(如圖2.25所示);

圖2.25 簡(jiǎn)化的sinc函數(shù)示意圖

并利用三次多項(xiàng)式來(lái)近似理論上的最佳插值函數(shù)sinc(x):\\S(x)=\left\{\begin{array}{1}&1-2\vert x \vert^2+\vert x\vert ^3, \quad\quad\quad &|x|<1\\&4-8|x|+5|x|^2-|x|^3, &1\leq|x|\leq2\\&0, &|x|>2\end{array}\right.

由此形成常用的三次卷積插值算法,又稱(chēng)三次內(nèi)插法、兩次立方法(Cubic)、CC插值法等。

? ? ? ? 三次卷積插值算法特點(diǎn):a)是滿(mǎn)足Nyquist下,最佳重構(gòu)公式的近似;b)只有圖像滿(mǎn)足特定的條件,三次卷積插值算法才能獲得最佳結(jié)果;c)可使待求點(diǎn)的灰度值更好地模擬實(shí)際可能值;d)可取得更好的視覺(jué)效果;e)三次卷積內(nèi)插突出的優(yōu)點(diǎn)是高頻信息損失少,可將噪聲平滑;f)4\times 4時(shí),像元均值和標(biāo)準(zhǔn)差信息損失??;g)計(jì)算量大為增加。

? ? ? ? 5)圖像處理中內(nèi)插方法的選擇。內(nèi)插方法的選擇除了考慮圖像的顯示要求及計(jì)算量,還要考慮內(nèi)插結(jié)果對(duì)分析的影響。a)當(dāng)紋理信息為主要信息時(shí),最近鄰采樣將嚴(yán)重改變?cè)瓐D像的紋理信息;b)當(dāng)灰度信息為主要信息時(shí),雙線(xiàn)性?xún)?nèi)插及三次卷積內(nèi)插將減少圖像異質(zhì)性,增加圖像同質(zhì)性,其中,雙線(xiàn)性?xún)?nèi)插方法將使這種變化更為明顯。

非幾何變換

? ? ? ? 即改變圖像像素值。主要有模板運(yùn)算、灰度變換和直方圖變換。

? ? ? ? 定義:對(duì)于原圖像f(x,y),灰度值變換函數(shù)T(f(x,y))唯一確定了非幾何變換:g(x,y)=T(f(x,y))g(x,y)是目標(biāo)圖像。

? ? ? ? 非幾何變換屬于像素值的變換——灰度變換,沒(méi)有幾何位置的改變。

? ? ? ? 對(duì)于彩色原圖像f(x,y),顏色值變換函數(shù)T_r(f(x,y))、T_g(f(x,y))、T_b(f(x,y))唯一確定了非幾何變換:g_r(x,y)=T_r(f(x,y))、g_g(x,y)=T_g(f(x,y))、g_b(x,y)=T_b(f(x,y))。

離散非幾何變換的計(jì)算

? ? ? ? 簡(jiǎn)單變換——像素值一一對(duì)應(yīng)的映射,如偽彩色變換;復(fù)雜變換——同時(shí)考慮相鄰各點(diǎn)的像素值,通常通過(guò)模板運(yùn)算進(jìn)行。? ? ? ??

圖2.26 復(fù)雜變換示例

模板

? ? ? ? 1)定義。所謂模板就是一個(gè)系數(shù)矩陣;模板大?。航?jīng)常是奇數(shù),如3\times 3、5\times 5等;模板系數(shù):矩陣的元素。? ? ??

? ? ? ? 2)模板運(yùn)算的定義。對(duì)于某圖像的子圖像:\\\begin{matrix}Z_1&Z_2&Z_3 \\Z_4&Z_5&Z_6 \\Z_7&Z_8&Z_9 \end{matrix}

Z_5的模板運(yùn)算公式為:R=W_1Z_1+W_2Z_2+\cdots+W_9Z_9,W_1,W_2,\cdots,W_9為加權(quán)系數(shù)。

灰度變換

? ? ? ? 1)定義。

????????定義1:對(duì)于輸入圖像f(x,y),灰度變換T將產(chǎn)生一個(gè)輸出圖像g(x,y),g(x,y)的每一個(gè)像素值,均取決于f(x,y)中對(duì)應(yīng)點(diǎn)的像素值:g(x,y)=T(f(x,y))。

? ? ? ? 定義2:對(duì)于原圖像f(x,y),灰度值變換函數(shù)T(f(x,y)),由于灰度值總是有限個(gè)(如0-255),非幾何變換可定義為:R=T(r),其中R,r在0-255之間取值。

? ? ? ? 2)實(shí)現(xiàn)。R=T(r)定義了輸入像素值與輸出像素值之間的映射關(guān)系,通常通過(guò)查表來(lái)實(shí)現(xiàn)。因此灰度值變換也被稱(chēng)為L(zhǎng)UT(Look Up Table)變換。

? ? ? ? 3)示例。

? ??????圖像求反、對(duì)比度拉伸。

????????對(duì)比度展寬——突出圖像中關(guān)心的部分。方法:g=\left\{\begin{array}{2}&\alpha f \quad\quad &0\leq f<a\\&\beta (f-a)+g_a &a\leq f<b\\&\gamma (f-b)+g_b &b\leq f<L\end{array}\right.

圖2.27 對(duì)比度展寬方法示意圖
圖2.28 對(duì)比度展寬示例

????????灰度窗——只顯示指定灰度級(jí)范圍內(nèi)的信息。

? ? ? ? 灰度級(jí)切片——只保留感興趣的部分,其余部分置為0.

? ? ? ? 灰度級(jí)修正——通過(guò)記錄裝置把一景物變成一幅圖像時(shí),景物上每一點(diǎn)所反射的光,并不是按同一比例轉(zhuǎn)化成圖像上相應(yīng)點(diǎn)的灰度,靠近光軸的光要比遠(yuǎn)離光軸的光衰減得少一些;灰度級(jí)修正的目的是:使畫(huà)面中每個(gè)關(guān)心的細(xì)節(jié)信息通過(guò)灰度級(jí)修正之后,變得清晰可見(jiàn)。

圖2.29 灰度級(jí)修正示例

? ? ? ? 線(xiàn)性動(dòng)態(tài)范圍調(diào)整:作用是進(jìn)行亮暗限幅。

? ? ? ? 圖像輸入輸出的Gamma失真校正:S=Cr^\gamma。Gamma失真即灰度變化為非線(xiàn)性、不夠順滑。1)校正圖像獲取設(shè)備(如照相機(jī))對(duì)于圖像像素亮度相應(yīng)的非線(xiàn)性;2)校正圖像顯示設(shè)備(如顯示器)中輸入信號(hào)與亮度顯示之間的非線(xiàn)性關(guān)系;3)校正圖像中不同像素值顯示時(shí)的亮度感覺(jué)。

三、基本概念——灰度直方圖

? ? ? ? 灰度直方圖的概念在上一篇文章里說(shuō)過(guò)了,不過(guò)當(dāng)時(shí)是網(wǎng)上找的,這里就再說(shuō)一下劉定生老師上課時(shí)提到的,當(dāng)然內(nèi)容肯定是大同小異的。

? ? ? ? 定義:直方圖是用來(lái)表達(dá)一幅圖像灰度級(jí)分布情況的統(tǒng)計(jì)表。

圖3.1 灰度直方圖示例

圖中,橫坐標(biāo)表示灰度——r;縱坐標(biāo)為某一灰度值r_i的像素個(gè)數(shù)n_i或稱(chēng)之為r_i出現(xiàn)的頻率。

? ? ? ? 從概率的觀點(diǎn),灰度出現(xiàn)的頻率可看作其出現(xiàn)的概率,這樣直方圖就對(duì)應(yīng)于概率密度函數(shù)p,而概率分布函數(shù)就是直方圖的累積和,即概率密度函數(shù)的積分,如圖3.2所示:\\p(r)=\frac{dP(r)}{dr}\\P(r)=\int_{0}^{r} p(r)dr

圖3.2 概率密度函數(shù)與概率分布函數(shù)示意圖

對(duì)于離散圖像:

\\p(r_i)=\frac{n_i}{n}\\\sum_{i=0}^{k-1}p(r_i)=1

彩色圖像的灰度直方圖——RGB各分量的直方圖分別顯示。

圖3.3 彩色圖像的灰度直方圖示例

? ? ? ? 直方圖的性質(zhì)。1)所有的空間信息全部丟失;2)每一灰度值對(duì)應(yīng)的像素個(gè)數(shù)可直接得到;3)任何一幅圖像,具有唯一對(duì)應(yīng)的直方圖,但任何一個(gè)直方圖,可能對(duì)應(yīng)多幅圖像;4)一幅圖像各子區(qū)的直方圖之和等于該全圖的直方圖。

? ? ? ? 直方圖的用途。1)數(shù)字化參數(shù)。直方圖給出了一個(gè)簡(jiǎn)單可見(jiàn)的指示,用來(lái)判斷一幅圖像是否合理地利用了全部被允許地灰度級(jí)范圍。一般一幅圖應(yīng)該利用全部或幾乎全部可能的灰度級(jí),否則等于增加了量化間隔。丟失的信息將不能恢復(fù)。2)邊界閾值選取。假設(shè)某圖像的灰度直方圖具有二峰性,則表明這個(gè)圖像的較亮的區(qū)域和較暗的區(qū)域可以較好地分離,取二峰的中間點(diǎn)為閾值點(diǎn),可以得到好的二值處理的結(jié)果。

四、直方圖變換

基本理論

? ? ? ? 設(shè)連續(xù)圖像的概率分布為:

\\\begin{array}{1}&P(r)=\lim_{\Delta r\to 0} \frac{A(r+\Delta r)-A(r)}{\Delta r}\quad\quad r——灰度 \\&\int_{r_{min}}^{r_{max}} P(r)dr=1\quad\quad 其中A為圖像的面積\end{array}

? ? ? ? 對(duì)于離散圖像:

\\\begin{array}{1}&P(r_i)=\frac{n_i}{n}\\&\sum_{i=0}^{k-1}P(r_i) =1\end{array}

? ? ? ? 對(duì)[0,1]區(qū)間內(nèi)任意r值,按下式變換:

\\s=T(r)

? ? ? ? 上述變換式應(yīng)滿(mǎn)足條件:(1)對(duì)于0\leq r\leq 1,有0\leq s\leq 1;(2)在0\leq r\leq 1區(qū)間內(nèi),T(r)為單值單調(diào)增加。這里的第一個(gè)條件保證了圖像的灰度級(jí)從白到黑的次序不變,第二個(gè)條件則保證了映射變換后的像素灰度值在容許的范圍內(nèi)。

圖3.4 T(r)的一個(gè)示例

? ? ? ? 從s到r的反變換為:\\ r=T^{-1}(s)\quad\quad 0\leq s\leq 1

因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=s%3DT(r)" alt="s=T(r)" mathimg="1">是單調(diào)增加的,由數(shù)學(xué)分析可知,它的反函數(shù)r=T^{-1}(s)也是單調(diào)函數(shù)。即反變換同樣滿(mǎn)足上述兩個(gè)條件。

? ? ? ? 由概率論知,若P_r(r)和變換函數(shù)s=T(r)已知,r=T^{-1}(s)是單調(diào)增長(zhǎng)函數(shù),則變換后的圖像灰度級(jí)的概率密度函數(shù)P_s(s)如下所示:

\\P_s(s)=(P_r(r)\frac{dr}{ds})\vert _{r=T^{-1}(s)}

? ? ? ? 直方圖變換技術(shù)正是通過(guò)選擇變換函數(shù)T(r),使目標(biāo)圖像的直方圖具有期望的形狀。

直方圖均衡

????????直方圖均衡方法的基本思想是使目標(biāo)圖像的直方圖具有平直的直方圖,從而改變圖像整體偏暗或整體偏亮、灰度層次不豐富的情況。

????????直觀概念是對(duì)在圖像中像素個(gè)數(shù)多的灰度級(jí)進(jìn)行展寬,而對(duì)像素個(gè)數(shù)少的灰度級(jí)進(jìn)行縮減,從而達(dá)到清晰圖像的目的。

????????基本方法是通過(guò)灰度r的概率密度函數(shù)p(r_k),求出灰度變換函數(shù)T(r),建立等值像素出現(xiàn)的次數(shù)與結(jié)果圖像像素值之間的關(guān)系。

? ? ? ? 形成一種自動(dòng)調(diào)節(jié)圖像對(duì)比度質(zhì)量的方法。

直方圖均衡化過(guò)程分析

? ? ? ? 設(shè)r和s分別表示原圖像灰度級(jí)和經(jīng)直方圖均衡化后的圖像灰度級(jí)。為便于討論,對(duì)r和s進(jìn)行歸一化,使:0\leq r,s\leq 1。

? ? ? ? 對(duì)于一幅給定的圖像,歸一化后灰度級(jí)分布在0\leq r\leq 1范圍內(nèi)。對(duì)[0, 1]區(qū)間內(nèi)的任一個(gè)r值進(jìn)行如下變換:

\\s=T(r)

該變換式應(yīng)滿(mǎn)足條件:\\ \begin{array}{1}&(1)對(duì)于0\leq r\leq 1,有0\leq s\leq 1 \\&(2)在0\leq r\leq 1區(qū)間內(nèi)\end{array}

直方圖均衡化算法

? ? ? ? 從s到r的反變換用下式表示:

\\ r=T^{-1}(s)

r的概率密度為P_r(r),s的概率密度可由P_r(r)求出:

\\P_s(s)=(P_r(r)\frac{dr}{ds})|_{r=T^{-1}(s)}

假定變換函數(shù)為:

\\s=T(r)=\int_0^{r}p_r(\omega )d\omega

式中:\omega是積分變量,而\int_0^rp_r(\omega)d\omega就是r的累積分布函數(shù)。對(duì)式中的r求導(dǎo),則:

\\\frac{ds}{dr}=\frac{dT(r)}{dr}=p_r(r)

再把結(jié)果代入前面公式,可有:

\\\begin{array}{1}p_s(s)&=\left[p_r(r)\cdot\frac{dr}{ds}\right]_{r=T^{-1}(s)}\\&=\left[p_r(r)\cdot\frac{1}{ds/dr}\right]_{r=T^{-1}(s)}\\&=\left[p_r(r)\cdot\frac{1}{p_r(r)}\right]=1\end{array}

由此可見(jiàn),變換后變量s在其定義域內(nèi)的概率密度是均勻分布的。因此,用r的累積分布函數(shù)作為變換函數(shù),可產(chǎn)生一幅灰度級(jí)分布具有均勻概率密度的圖像,其結(jié)果擴(kuò)展了像素取值的動(dòng)態(tài)范圍。

圖3.5 用累積分布函數(shù)作為變換函數(shù)的示例

? ? ? ? 從數(shù)學(xué)角度,直方圖均衡化處理是以累積分布函數(shù)變換法為基礎(chǔ)的直方圖修正法。

離散形式的直方圖均衡化

? ? ? ? 設(shè)一幅圖像的像元數(shù)為n,共有l個(gè)灰度級(jí),n_k代表灰度級(jí)為r_k的像元的數(shù)目,則第k個(gè)灰度級(jí)出現(xiàn)的概率可表示為:

\\P_r(r_k)=\frac{n_k}{n},\quad 0\leq r_k \leq 1,\quad k=0,1,\cdots,l-1

變換函數(shù)T(r)可改寫(xiě)為:

\\s_k=T(r_k)=\sum_{j=0}^kP_r(r_j)=\sum_{j=0}^k\frac{n_j}{n},\quad 0\leq r_k\leq 1,k=0,1,\cdots,l-1

均衡化后各像素的灰度值可直接由原圖像的直方圖算出。

算法

設(shè)f、g分別為原圖像和處理后的圖像。

? ? ? ? 1)求出原圖f的灰度直方圖,設(shè)為h。h為一個(gè)256維的向量。

? ? ? ? 2)求出圖像f的總體像素個(gè)數(shù):N_f=m\times n(m,n分別為圖像的長(zhǎng)和寬);計(jì)算每個(gè)灰度的像素個(gè)數(shù)在整個(gè)圖像中所占的百分比:hs(i)=h(i)/N_f\quad(i=0,1,\cdots,255)。

? ? ? ? 3)計(jì)算圖像各灰度的累積分布hphp(i)=\sum_{k=0}^ihs(k)\quad(i=1,2,\cdots,255)

圖3.6 計(jì)算hp示例

? ? ? ? 4)求出新圖像g的灰度值:\\\begin{array}{1}&g=255\cdot hp(i)\quad &i=1,2,\cdots,255 \\&g=0&i=0\end{array}

圖3.7 求出新圖像示例
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容