這篇文章總結(jié)比較全面:
http://blog.csdn.net/timidsmile/article/details/6640600
-
HSV顏色空間
[HSV]是把H(色相),S(飽和度),V(亮度)當(dāng)做色值來(lái)定位顏色的空間。色相的取值范圍是0-360度,用來(lái)表示顏色的類別。其中紅色是0度,綠色是120度,藍(lán)色是240度。飽和度的取值范圍是0%-100%用來(lái)表示顏色的鮮艷程度,灰色的飽和度是0%,純粹的顏色(比如大紅(255,0,0)青色(0,255,255)等等的飽和度是[100%]亮度的取值范圍是0%-100%,用來(lái)表示顏色的明暗程度,亮度為0%時(shí)為黑色,亮度為100%時(shí)為白色,介于0%~100%之間時(shí),則用來(lái)表示各個(gè)顏色的明暗程度。
相對(duì)于[RGB]空間能夠非常直觀的表達(dá)色彩的明暗,色調(diào),以及鮮艷程度,方便進(jìn)行顏色之間的對(duì)比,也方便感情的傳達(dá)。但是缺點(diǎn)是不能直接把顏色值傳達(dá)給顯示器,在轉(zhuǎn)換過(guò)程中消耗系統(tǒng)資源。 -
最臨近插值:
圖像的縮放很好理解,就是圖像的放大和縮小。傳統(tǒng)的繪畫(huà)工具中,有一種叫做“放大尺”的繪畫(huà)工具,畫(huà)家常用它來(lái)放大圖畫(huà)。當(dāng)然,在計(jì)算機(jī)上,我們不再需要用放大尺去放大或縮小圖像了,把這個(gè)工作交給程序來(lái)完成就可以了。下面就來(lái)講講計(jì)算機(jī)怎么來(lái)放大縮小圖象;在本文中,我們所說(shuō)的圖像都是指點(diǎn)陣圖,也就是用一個(gè)像素矩陣來(lái)描述圖像的方法,對(duì)于另一種圖像:用函數(shù)來(lái)描述圖像的矢量圖,不在本文討論之列。
越是簡(jiǎn)單的模型越適合用來(lái)舉例子,我們就舉個(gè)簡(jiǎn)單的圖像:3X3 的256級(jí)灰度圖,也就是高為3個(gè)象素,寬也是3個(gè)象素的圖像,每個(gè)象素的取值可以是 0-255,代表該像素的亮度,255代表最亮,也就是白色,0代表最暗,即黑色。假如圖像的象素矩陣如下圖所示(這個(gè)原始圖把它叫做源圖,Source):
234 38 22
67 44 12
89 65 63
這個(gè)矩陣中,元素坐標(biāo)(x,y)是這樣確定的,x從左到右,從0開(kāi)始,y從上到下,也是從零開(kāi)始,這是圖象處理中最常用的坐標(biāo)系,就是這樣一個(gè)坐標(biāo):
---------------------->X
|
|
|
|
|
Y∨
如果想把這副圖放大為 4X4大小的圖像,那么該怎么做呢?那么第一步肯定想到的是先把4X4的矩陣先畫(huà)出來(lái)再說(shuō),好了矩陣畫(huà)出來(lái)了,如下所示,當(dāng)然,矩陣的每個(gè)像素都是未知數(shù),等待著我們?nèi)ヌ畛洌ㄟ@個(gè)將要被填充的圖的叫做目標(biāo)圖,Destination):
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
現(xiàn)在從最簡(jiǎn)單的情況說(shuō)起
1.最近鄰插值
該算法是最簡(jiǎn)單的插值算法,就只是把放大后缺失的點(diǎn)的像素值用最靠近的原圖的像素值直接填進(jìn)去就可以了,比如坐標(biāo)為(0,0),那么該坐標(biāo)對(duì)應(yīng)源圖中的坐標(biāo)可以由如下公式得出:
放大系數(shù)t=dstWidth/srcWidth=4/3
srcX=dstX/t, srcY = dstY/t
好了,套用公式,就可以找到對(duì)應(yīng)的原圖的坐標(biāo)了(0/(4/3),0/(4/3))=>(0,0)
,找到了源圖的對(duì)應(yīng)坐標(biāo),就可以把源圖中坐標(biāo)為(0,0)處的234象素值填進(jìn)去目標(biāo)圖的(0,0)這個(gè)位置了。
接下來(lái),如法炮制,尋找目標(biāo)圖中坐標(biāo)為(1,0)的象素對(duì)應(yīng)源圖中的坐標(biāo),套用公式:
(1/0.75,00.75)=>(0.75,0)
結(jié)果發(fā)現(xiàn),得到的坐標(biāo)里面竟然有小數(shù),這可怎么辦?計(jì)算機(jī)里的圖像可是數(shù)字圖像,象素就是最小單位了,象素的坐標(biāo)都是整數(shù),從來(lái)沒(méi)有小數(shù)坐標(biāo)。這時(shí)候采用的一種策略就是采用四舍五入的方法(也可以采用直接舍掉小數(shù)位的方法),把非整數(shù)坐標(biāo)轉(zhuǎn)換成整數(shù),好,那么按照四舍五入的方法就得到坐標(biāo)(1,0),完整的運(yùn)算過(guò)程就是這樣的:
(10.75,0*0.75)=>(0.75,0)=>(1,0)
那么就可以再填一個(gè)象素到目標(biāo)矩陣中了,同樣是把源圖中坐標(biāo)為(1,0)處的像素值38填入目標(biāo)圖中的坐標(biāo)。
依次填完每個(gè)象素,一幅放大后的圖像就誕生了,像素矩陣如下所示:
234 38 22 22
67 44 12 12
89 65 63 63
89 65 63 63
這種放大圖像的方法叫做最臨近插值算法,這是一種最基本、最簡(jiǎn)單的圖像縮放算法,效果也是最不好的,放大后的圖像有很嚴(yán)重的馬賽克,縮小后的圖像有很嚴(yán)重的失真;效果不好的根源就是其簡(jiǎn)單的最臨近插值方法引入了嚴(yán)重的圖像失真。 -
雙線性內(nèi)插值算法:
對(duì)于一個(gè)目的像素,設(shè)置坐標(biāo)通過(guò)反向變換得到的浮點(diǎn)坐標(biāo)為(i+u,j+v) (其中i、j均為浮點(diǎn)坐標(biāo)的整數(shù)部分,u、v為浮點(diǎn)坐標(biāo)的小數(shù)部分,是取值[0,1)區(qū)間的浮點(diǎn)數(shù)),則這個(gè)像素得值 f(i+u,j+v) 可由原圖像中坐標(biāo)為 (i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所對(duì)應(yīng)的周圍四個(gè)像素的值決定,即:
f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)
其中f(i,j)表示源圖像(i,j)處的的像素值,以此類推。
比如,象剛才的例子,現(xiàn)在假如目標(biāo)圖的象素坐標(biāo)為(1,1),那么反推得到的對(duì)應(yīng)于源圖的坐標(biāo)是(0.75 , 0.75), 這其實(shí)只是一個(gè)概念上的虛擬象素,實(shí)際在源圖中并不存在這樣一個(gè)象素,那么目標(biāo)圖的象素(1,1)的取值不能夠由這個(gè)虛擬象素來(lái)決定,而只能由源圖的這四個(gè)象素共同決定:(0,0)(0,1)(1,0)(1,1),而由于(0.75,0.75)離(1,1)要更近一些,那么(1,1)所起的決定作用更大一些,這從公式1中的系數(shù)uv=0.75×0.75就可以體現(xiàn)出來(lái),而(0.75,0.75)離(0,0)最遠(yuǎn),所以(0,0)所起的決定作用就要小一些,公式中系數(shù)為(1-u)(1-v)=0.25×0.25也體現(xiàn)出了這一特點(diǎn)。 空間處理
頻域處理
檢測(cè)
-
Canny算子
該算子功能比前面幾種都要好,但是它實(shí)現(xiàn)起來(lái)較為麻煩,Canny算子是一個(gè)具有濾波,增強(qiáng),檢測(cè)的多階段的優(yōu)化算子,在進(jìn)行處理前,Canny算子先利用高斯平滑濾波器來(lái)平滑圖像以除去噪聲,Canny分割算法采用一階偏導(dǎo)的有限差分來(lái)計(jì)算梯度幅值和方向,在處理過(guò)程中,Canny算子還將經(jīng)過(guò)一個(gè)非極大值抑制的過(guò)程,最后Canny算子還采用兩個(gè)閾值來(lái)連接邊緣。
Canny邊緣檢測(cè)算法
step1: 用高斯濾波器平滑圖象;
step2: 用一階偏導(dǎo)的有限差分來(lái)計(jì)算梯度的幅值和方向;
step3: 對(duì)梯度幅值進(jìn)行非極大值抑制
step4: 用雙閾值算法檢測(cè)和連接邊緣
詳解:http://www.cnblogs.com/cfantaisie/archive/2011/06/05/2073168.html
(1)圖象邊緣檢測(cè)必須滿足兩個(gè)條件:一能有效地抑制噪聲;二必須盡量精確確定邊緣的位置。
(2)根據(jù)對(duì)信噪比與定位乘積進(jìn)行測(cè)度,得到最優(yōu)化逼近算子。這就是Canny邊緣檢測(cè)算子。
(3)類似與Marr(LoG)邊緣檢測(cè)方法,也屬于先平滑后求導(dǎo)數(shù)的方法。 -
Sobel算子
其主要用于邊緣檢測(cè),在技術(shù)上它是以離散型的差分算子,用來(lái)運(yùn)算圖像亮度函數(shù)的梯度的近似值, Sobel算子是典型的基于一階導(dǎo)數(shù)的邊緣檢測(cè)算子,由于該算子中引入了類似局部平均的運(yùn)算,因此對(duì)噪聲具有平滑作用,能很好的消除噪聲的影響。Sobel算子對(duì)于象素的位置的影響做了加權(quán),與Prewitt算子、Roberts算子相比因此效果更好。
Sobel算子包含兩組3x3的矩陣,分別為橫向及縱向模板,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。實(shí)際使用中,常用如下兩個(gè)模板來(lái)檢測(cè)圖像邊緣。
檢測(cè)水平邊沿 橫向模板 :
Snip20170914_1.png
檢測(cè)垂直平邊沿 縱向模板:
![Uploading Snip20170914_3_264834.png . . .]
圖像的每一個(gè)像素的橫向及縱向梯度近似值可用以下的公式結(jié)合,來(lái)計(jì)算梯度的大小。
Snip20170914_3.png
然后可用以下公式計(jì)算梯度方向。
Snip20170914_4.png
在以上例子中,如果以上的角度Θ等于零,即代表圖像該處擁有縱向邊緣,左方較右方暗。缺點(diǎn)是Sobel算子并沒(méi)有將圖像的主題與背景嚴(yán)格地區(qū)分開(kāi)來(lái),換言之就是Sobel算子并沒(méi)有基于圖像灰度進(jìn)行處理,由于Sobel算子并沒(méi)有嚴(yán)格地模擬人的視覺(jué)生理特征,所以提取的圖像輪廓有時(shí)并不能令人滿意。 -
直方圖的性質(zhì):
1,直方圖反映了圖像中的灰度分布規(guī)律。它描述每個(gè)灰度級(jí)具有的像元個(gè)數(shù),但不包含這些像元在圖像中的位置信息。
2,任何一幅特定的圖像都有唯一的直方圖與之對(duì)應(yīng),但不同的圖像可以有相同的直方圖。
3,如果一幅圖像有兩個(gè)不相連的區(qū)域組成,并且每個(gè)區(qū)域的直方圖已知,則整幅圖像的直方圖是該兩個(gè)區(qū)域的直方圖之和 -
直方圖處理
1.直方圖均衡:增強(qiáng)對(duì)比度,補(bǔ)償圖像在視覺(jué)上難以區(qū)分灰度級(jí)的差別。作為自適應(yīng)對(duì)比度增強(qiáng)工具,功能強(qiáng)大。
1.直方圖匹配(直方圖規(guī)定化):變換原圖的直方圖為規(guī)定的某種形式的直方圖,從而使兩幅圖像具有類似的色調(diào)和反差。直方圖匹配屬于非線性點(diǎn)運(yùn)算。在直方圖均衡的基礎(chǔ)上規(guī)定化,有利于解決像素集中于灰度級(jí)暗端的圖像。
1.局部直方圖處理:用于增強(qiáng)小區(qū)域的細(xì)節(jié),方法是以圖像中的每個(gè)像素鄰域中的灰度分布為基礎(chǔ)設(shè)計(jì)變換函數(shù),可用于顯示全局直方圖均衡化不足以影響的細(xì)節(jié)的顯示。
1.5.4直方圖統(tǒng)計(jì):可用于圖像增強(qiáng),能夠增強(qiáng)暗色區(qū)域同時(shí)盡可能的保留明亮區(qū)域不變,靈活性好。 -
詳細(xì)參考
http://blog.csdn.net/taoyanqi8932/article/details/52758376
http://blog.csdn.net/guoyk1990/article/details/8112552 (直方圖匹配)
常見(jiàn)噪音以及處理
常見(jiàn)噪音分類
a)高斯噪聲
在空間域和頻域中,由于高斯噪聲在數(shù)學(xué)上的易處理性,這種噪聲(也稱為正態(tài)噪聲)模型經(jīng)常被用在實(shí)踐中,事實(shí)上,這種易處理性非常方便,使高斯模型經(jīng)常適用于臨街情況下。
b)瑞利噪聲
需注意,距原點(diǎn)的位移和其密度圖形的基本形狀向右變形的事實(shí)。瑞利密度對(duì)于近似偏移的直方圖十分適用。
c)伽馬(愛(ài)爾蘭)噪聲
d)指數(shù)分布噪聲
e)均勻分布噪聲
f)脈沖噪聲(椒鹽噪聲)
雙極脈沖噪聲也稱為椒鹽噪聲,同時(shí),它們有時(shí)也稱為散粒和尖峰噪聲。
上述的幾種PDF為在實(shí)踐中模型化寬帶噪聲干擾狀態(tài)提供了有用的工具。例如,在一副圖像中,高斯噪聲的產(chǎn)生源于電子電路噪聲和有低照明度或高溫帶來(lái)的傳感器噪聲。瑞利密度分布在圖像范圍內(nèi)特征化噪聲現(xiàn)象時(shí)非常有用。指數(shù)密度分布和伽馬密度分布在激光成像中有一些應(yīng)用。脈沖噪聲主要表現(xiàn)在成像中的短暫停留中,例如錯(cuò)誤的開(kāi)關(guān)操作。均勻密度分布可能是在實(shí)踐中描述的最少,然而,均勻密度座位模擬隨機(jī)數(shù)產(chǎn)生器的基礎(chǔ)是非常有用的。
- 處理
參考博客:
http://blog.csdn.net/zhoufan900428/article/details/37695357
模式識(shí)別
圖像匹配
卷積和相關(guān)
兩個(gè)函數(shù),翻轉(zhuǎn)其中一個(gè),再滑動(dòng)求積分,叫做卷積;不翻轉(zhuǎn)就滑動(dòng)求積分,叫做互相關(guān),如果其中一個(gè)為偶函數(shù),那么卷積和相關(guān)效果相同.-
什么是卷積
用一個(gè)模板和一幅圖像進(jìn)行卷積,對(duì)于圖像上的一個(gè)點(diǎn),讓模板的原點(diǎn)和該點(diǎn)重合,然后模板上的點(diǎn)和圖像上對(duì)應(yīng)的點(diǎn)相乘,然后各點(diǎn)的積相加,就得到了該點(diǎn)的卷積值。對(duì)圖像上的每個(gè)點(diǎn)都這樣處理。由于大多數(shù)模板都是對(duì)稱的,所以模板不旋轉(zhuǎn)。
卷積的作用
利用卷積可以實(shí)現(xiàn)對(duì)圖像模糊處理、平滑處理,邊緣檢測(cè),產(chǎn)生軋花效果的圖像。
創(chuàng)建模板:
Snip20170920_3.png
- 傅里葉變換
傅立葉變換在這里的物理意義就是將光的空間分布轉(zhuǎn)換為頻率分布(相空間),在靠近原點(diǎn)的部分為圖像低頻部分,遠(yuǎn)離原點(diǎn)部分為圖像高頻部分。
-
形態(tài)學(xué)
形態(tài)學(xué)操作就是基于形狀的一系列圖像處理操作。OpenCV為進(jìn)行圖像的形態(tài)學(xué)變換提供了快捷、方便的函數(shù)。最基本的形態(tài)學(xué)操作有二種,他們是:膨脹與腐蝕(Dilation與Erosion)。
膨脹與腐蝕能實(shí)現(xiàn)多種多樣的功能,主要如下:
1,消除噪聲
2,分割(isolate)出獨(dú)立的圖像元素,在圖像中連接(join)相鄰的元素。
3,尋找圖像中的明顯的極大值區(qū)域或極小值區(qū)域
4,求出圖像的梯度腐蝕和膨脹是對(duì)白色部分(高亮部分)而言的,不是黑色部分。膨脹就是圖像中的高亮部分進(jìn)行膨脹,“領(lǐng)域擴(kuò)張”,效果圖擁有比原圖更大的高亮區(qū)域。腐蝕就是原圖中的高亮部分被腐蝕,“領(lǐng)域被蠶食”,效果圖擁有比原圖更小的高亮區(qū)域。
-
膨脹
膨脹就是求局部最大值的操作。
按數(shù)學(xué)方面來(lái)說(shuō),膨脹或者腐蝕操作就是將圖像(或圖像的一部分區(qū)域,我們稱之為A)與核(我們稱之為B)進(jìn)行卷積。
核可以是任何的形狀和大小,它擁有一個(gè)單獨(dú)定義出來(lái)的參考點(diǎn),我們稱其為錨點(diǎn)(anchorpoint)。多數(shù)情況下,核是一個(gè)小的中間帶有參考點(diǎn)和實(shí)心正方形或者圓盤,其實(shí),我們可以把核視為模板或者掩碼。
而膨脹就是求局部最大值的操作,核B與圖形卷積,即計(jì)算核B覆蓋的區(qū)域的像素點(diǎn)的最大值,并把這個(gè)最大值賦值給參考點(diǎn)指定的像素。這樣就會(huì)使圖像中的高亮區(qū)域逐漸增長(zhǎng)。如下圖所示,這就是膨脹操作的初衷。
Snip20170921_1.png -
腐蝕
腐蝕就是求局部最小值的操作
-
開(kāi)運(yùn)算
開(kāi)運(yùn)算(Opening Operation),其實(shí)就是先腐蝕后膨脹的過(guò)程。開(kāi)運(yùn)算可以用來(lái)消除小物體、在纖細(xì)點(diǎn)處分離物體、平滑較大物體的邊界的同時(shí)并不明顯改變其面積。
-
閉運(yùn)算
先膨脹后腐蝕的過(guò)程稱為閉運(yùn)算(Closing Operation),閉運(yùn)算能夠排除小型黑洞(黑色區(qū)域)
Snip20170921_2.png -
形態(tài)學(xué)梯度
形態(tài)學(xué)梯度(Morphological Gradient)為膨脹圖與腐蝕圖之差,對(duì)二值圖像進(jìn)行這一操作可以將團(tuán)塊(blob)的邊緣突出出來(lái)。我們可以用形態(tài)學(xué)梯度來(lái)保留物體的邊緣輪廓.
Snip20170921_3.png -
頂帽
頂帽運(yùn)算(Top Hat)又常常被譯為”禮帽“運(yùn)算。為原圖像與上文剛剛介紹的“開(kāi)運(yùn)算“的結(jié)果圖之差
-
黑帽
黑帽(Black Hat)運(yùn)算為”閉運(yùn)算“的結(jié)果圖與原圖像之差。黑帽運(yùn)算后的效果圖突出了比原圖輪廓周圍的區(qū)域更暗的區(qū)域,且這一操作和選擇的核的大小相關(guān)。
所以,黑帽運(yùn)算用來(lái)分離比鄰近點(diǎn)暗一些的斑塊。非常完美的輪廓效果圖:
Snip20170921_4.png 相機(jī)標(biāo)定
攝像機(jī)標(biāo)定(Camera calibration)簡(jiǎn)單來(lái)說(shuō)是從世界坐標(biāo)系換到圖像坐標(biāo)系的過(guò)程,也就是求最終的投影矩陣的過(guò)程。
http://www.cnblogs.com/Jessica-jie/p/6596450.html
- 關(guān)于YUV
Snip20180816_3.png
Snip20180816_4.png










