一文帶你讀懂圖像處理工作原理

本文為 AI 研習社編譯的技術博客,原標題 :

An Amazing Insight of How Image Processing Works

作者 | Bhanu Parashar

翻譯 | 老趙 校對 | 醬番梨

整理 | 菠蘿妹

原文鏈接:

https://medium.com/@bhanuparashar23/an-amazing-insight-of-how-image-processing-works-9b7a17aa42a4

對圖像處理如何工作的理解

我發現的最令人驚奇的是如何使用微積分巧妙地計算圖像邊緣。

考慮一個黑白圖像

一文帶你讀懂圖像處理工作原理

在這裡,我放大了一個小區域。

如你所見,它包含許多像素。

它可以表示為具有以下約束的2D矩陣:

  1. 在AijAij中,i表示像素的x座標,j表示y座標
  2. 左上角是座標(0,0)
  3. x,即向右移動時增加,而y,j在向下移動時增加
  4. AijAij的值範圍為0到255,0表示黑色255表示白色

所以這個小區域的矩陣將是

一文帶你讀懂圖像處理工作原理

現在只考慮矩陣的一行。

即:像這樣的東西

表示為:

如果我們在圖表上繪製它:

它會像

一文帶你讀懂圖像處理工作原理

記住高值意味著更多的白色,低值意味著更多的黑色,範圍從0到255。

第1部分:現在有趣的開始

如果我們將這個圖表區分開來,考慮到函數y = f(x),該怎麼辦?

這裡y是值AijAij,x是矩陣的i(這裡y是不同的)

那麼讓我們繪製它的衍生物

正如你可以看到,從白色到黑色的圖像變化點,衍生物的值突然增加

如果我們進一步區分,即雙重差異,該怎麼辦?

一文帶你讀懂圖像處理工作原理

所以你可以看到變化區域的突然爆發。

讓我們在圖像行中標記點:

一文帶你讀懂圖像處理工作原理

現在,如果我們將這個東西應用於所有行並標記雙重導數的高值。

它沿著圖像的邊緣

同樣也可以將它用於所有列,你將獲得圖像中的完整邊緣。

第2部分:數學實施(比上面更令人驚訝)

如何通過計算機將這種差異應用於圖像:

一些數學家發現了一種叫做卷積的現象讓我先解釋一下:

考慮一個大的NxN矩陣和一個小的3x3矩陣:

一文帶你讀懂圖像處理工作原理

這裡,如果小矩陣的點積與大矩陣的所有3x3大小的部分完成。 點積表示每個元素乘以其各自的元素,例如。 131 *( - 1),162 * 0,232 * 1等。

結果保存在另一個矩陣中。

這個過程稱為卷積,這裡3x3矩陣是內核,它可以更大,但最常用的是3x3。

這種現象是,如果一個大矩陣與一個類似於核的核心區域進行卷積,則在結果矩陣中突出顯示(值增加),而非相似區域變暗。

代表雙重差異的內核是:

一文帶你讀懂圖像處理工作原理

以上這些也稱為Sobel Kernel

第3部分:基於C ++的OpenCV實現

一文帶你讀懂圖像處理工作原理

輸出

一文帶你讀懂圖像處理工作原理

通過使用高斯導數,Canny邊緣檢測去除噪聲可以實現許多進步,這些可以在線輕鬆研究。

圖像:除了提供鏈接的圖像之外的所有圖像都是由我捕獲和編輯的。

它如何擴展到彩色圖像

顏色通常表示為RGB值(這裡是OpenCV,它是BGR)

B->藍色,G->綠色,R->紅色邊緣檢測通常在將彩色圖像轉換為黑白之後進行。

但是還有一種方法,Image可以轉換為HSV色空間這裡 H 代表 Hue,S 代表飽和度,V 代表值,即 H 代表顏色,S 代表強度,V 代表亮度。

因此,如果我們只採用H或Hue,我們可以找到邊緣而不受陰影或光線的影響。

還有其他方法。雷鋒網雷鋒網雷鋒網

想要繼續查看該篇文章相關鏈接和參考文獻?

長按鏈接點擊打開或點擊【一文帶你讀懂圖像處理工作原理】:

http://ai.yanxishe.com/page/TextTranslation/1248

AI研習社每日更新精彩內容,觀看更多精彩內容:

神經網絡如何完成表徵?

進入 kaggle 競賽前 2% 的祕訣

如何極大效率地提高你訓練模型的速度?

這 25 個開源機器學習項目,一般人我不告訴 Ta

等你來譯:

五個很厲害的 CNN 架構

這5種計算機視覺技術,刷新你的世界觀

神經網絡和3D程序化生成的未來

使用TensorSpace.js來做神經網絡的的3D可視化

AI研習社資料推薦:


相關推薦

推薦中...