CV 領域這樣入門進階才是對滴(三)
新年倒計時 3 天
2月的第一天,回首遠望,發現2019我們已經走過了1/12分之一,不知道你們新年的一個月裡有了多少收穫了呢?
沒關係!!!
現在開始,我們一起學習一會吧,不能因為假期而停歇科研的精神,在娛樂(農藥&吃雞)疲勞之間隙,可以和我們一起來簡單的學習(真的不用太費腦)
開個小差,可以掃上面的“福"哦,可收集五福哦!
今天我們學習啥呢?
今天絕對乾貨,要認真看哦~
影象處理基本演算法
01
影象解析度降低處理
如果,你手中有一張256*256解析度的影象,想讓它降低為128*128解析度,可以將源影象劃分成2*2的子影象塊,然後將2*2的子影象塊的所有畫素顏色均按照F(i,j)的顏色值進行設定,達到降低解析度的目的。
案 例
F(i,j) F(i,j+1)
F(i+1,j) F(i+1,j+1)
變成
F(i,j) F(i,j)
F(i,j) F(i,j)
同樣的道理,只要你知道這樣的應用,就可以把256*256解析度的影象變成任意解析度大小,比如變成64*64的解析度,只需要劃分成4*4即可,以此類推。
02
影象單色化處理及亮度、色差和訊號值關係
如果,你想把彩色影象變成單色影象,想一想應該能夠很簡單得出答案!
RGB彩色影象,你只需要將影象的每一個畫素中相對應的R, G, B值取出,然後利用(R,R,R),(G,G,G),(B,B,B)的畫素重新繪製即可。
在影象中,彩色影象的亮度Y,色差I,訊號值Q的關係,應該要理解:
| Y | |0.31 0.59 0.11 | | R |
| I | = |0.60 -0.28 -0.32 | * | G |
|Q | |0.21 -0.52 -0.31 | | B |
也就是一個矩陣的乘法,結果如下:
Y = 0.31R + 0.59G+0.11B
I = 0.60R - 0.28G - 0.32B
Q = 0.21R - 0.52B - 0.31B
03
影象的濾波處理
實際上,在訊號處理這個領域中卷積還有廣泛的意義。2 D卷積需要4個巢狀迴圈4-double loop,所以它並不快,除非我們使用很小的卷積核。這裡一般使用3x3或者5x5。而且,對於濾波器也有一定的規則要求:
· 濾波器的大小應該是奇數,這樣它才有一箇中心,有中心也就有了半徑,例如5x5大小核的半徑就是2;
· 濾波器矩陣所有的元素之和應該要等於1,這是為了保證濾波前後影象的亮度保持不變,不按照這個要求也是可以的;
· 如果濾波器矩陣所有元素之和大於1,那麼濾波後的影象就會比原影象更亮,反之,得到的影象就會變暗,如果和為0,影象不會變黑,但也會非常暗;
· 對於濾波後的影象,可能會出現負數或者大於255的數值,對於這種情況,將他們直接截斷到0和255之間即可,對於負數,可以取絕對值。
影象處理實踐
01
無任何處理
02
影象銳化
影象的銳化和邊緣檢測非常相似,首先要找到影象的邊緣,然後把邊緣加到原影象上,這樣就強化了影象的邊緣,使影象看起來更加銳利。
這兩者操作統一起來就是銳化濾波器了,也就是在邊緣檢測濾波器的基礎上,再在中心的位置加1,這樣濾波後的影象就會和原始的影象具有同樣的亮度了,但是會更加銳利,如下:
下面的濾波器會更強調邊緣:
03
邊緣檢測
在模式識別時,檢測出影象邊緣或者抽出影象輪廓是最常用的操作。迄今為止,已經出現了許多成熟的演算法。
例如 微分演算法 , 掩模演算法 等。在微分演算法中,常使用N*N的畫素塊,例如3*3的畫素塊如下:
f(i-1,j-1) f(i-1,j) f(i-1,j+1)
f(i,j-1) f(i,j) f(i,j+1)
f(i+1,j-1) f(i+1,j) f(i+1,j+1)
設f(i,j)為待處理的畫素,而g(i, j)為處理後的畫素。
Roberts運算元
g(i, j) = sqrt( (f(i, j) - f(i + 1, j))^2 + (f(i + 1, j) - f(i, j + 1))^2 )
或 g(i, j) = |f(i,j) - f(i + 1,j)| + |f(i+1,j) - f(i,j+1)|
Sobel運算元
對數字影象的每一個畫素f(i,j),考察它的上、下、左、右鄰域灰度的加權值,把各方向上(0度、45度、90度、135度)的灰度值加權之和作為輸出,可以達到提取影象邊緣的效果,即 g(i,j) = fxr + fyr,其中:
fxr = f(i-1,j-1)+2*f(i-1,j)+f(i-1,j+1)-f(i+1,j-1)-2*f(i+1,j)-f(i+1,j+1)
fyr = f(i-1,j-1)+2*f(i,j-1)+f(i+1,j-1)-f(i-1,j+1)-2*f(i,j+1)-f(i+1,j+1)
Laplace運算元
Laplace運算元是一種二階微分運算元。它有兩種形式: 4鄰域微分運算元和8鄰域微分運算元。
-
4鄰域微分
g(i,j)=|4*f(i,j)-f(i,j-1)-f(i-1,j)-f(i+1,j)-f(i,j+1)|
-
8鄰域微分
g(i,j)=|8*f(i,j)-f(i,j-1)-f(i-1,j)-f(i+1,j)-f(i,j+1)-f(i-1,j-1)-f(i-1,j+1)-f(i+1,j-1)-f(i+1,j+1)|

04
04
浮 雕
以下是45°的浮雕,並且加大濾波器效果如下:
05
高斯模糊
所謂"模糊",可以理解成每一個畫素都取周邊畫素的平均值。
"中間點"取"周圍點"的平均值,就會變成1。在數值上,這是一種"平滑化"。在圖形上,就相當於產生"模糊" 效果,"中間點"失去細節。顯然,計算 平均值時,取值範圍越大,"模糊效果"越強烈。
上面分別是原圖、模糊半徑3畫素、模糊半徑10畫素的效果。模糊半徑越大,影象就越模糊。從數值角度看,就是數值越平滑。
部分內容摘自於”醜著睡不著“的CSDN內容!感謝~
完


下一期我們會詳細說說灰色影象的基本處理及演算法,在此提前祝閱讀的您新年快樂!
往期回顧
/計算機視覺入門——1
新手看過來,入門閱讀請點選左圖!
/計算機視覺入門——2
入門進一步閱讀請點選左圖!