圖像識別原理之如何識別圖像邊緣

如何識別圖像邊緣?

 

做者: 阮一峯html

日期: 2016年7月22日git

圖像識別(image recognition)是如今的熱門技術。github

文字識別、車牌識別、人臉識別都是它的應用。可是,這些都算初級應用,如今的技術已經發展到了這樣一種地步:計算機能夠識別出,這是一張狗的照片,那是一張貓的照片。算法

這是怎麼作到的?ide

讓咱們從人眼提及,學者發現,人的視覺細胞對物體的邊緣特別敏感。也就是說,咱們先看到物體的輪廓,而後才判斷這究竟是什麼東西。ui

計算機科學家受到啓發,第一步也是先識別圖像的邊緣。url

加州大學的學生 Adit Deshpande 寫了一篇文章《A Beginner's Guide To Understanding Convolutional Neural Networks》,介紹了一種最簡單的算法,很是具備啓發性,體現了圖像識別的基本思路。3d

首先,咱們要明白,人看到的是圖像,計算機看到的是一個數字矩陣。所謂"圖像識別",就是從一大堆數字中找出規律。htm

怎樣將圖像轉爲數字呢?通常來講,爲了過濾掉干擾信息,能夠把圖像縮小(好比縮小到 49 x 49 像素),而且把每一個像素點的色彩信息轉爲灰度值,這樣就獲得了一個 49 x 49 的矩陣。blog

而後,從左上角開始,依次取出一個小區塊,進行計算。

上圖是取出一個 5 x 5 的區塊。下面的計算以 7 x 7 的區塊爲例。

接着,須要有一些現成的邊緣模式,好比垂直、直角、圓、銳角等等。

上圖右邊是一個圓角模式,左邊是它對應的 7 x 7 灰度矩陣。能夠看到,圓角所在的邊緣灰度值比較高,其餘地方都是0。

如今,就能夠進行邊緣識別了。下面是一張卡通老鼠的圖片。

取出左上角的區塊。

取樣矩陣與模式矩陣對應位置的值相乘,進行累加,獲得6600。這個值至關大,它說明什麼呢?

取樣矩陣移到老鼠頭部,與模式矩陣相乘,獲得的值是0。

乘積越大就說明越匹配,能夠判定區塊裏的圖像形狀是圓角。一般會預置幾十種模式,每一個區塊計算出最匹配的模式,而後再對整張圖進行判斷。

(完)

 

文章來源http://www.ruanyifeng.com/blog/2016/07/edge-recognition.html

相關文章
相關標籤/搜索