大多數人都玩兒過拼圖游戲。首先拿到完整圖像的碎片,然後把這些碎片以正確的方式排列起來從而重建這幅圖像。如果把拼圖游戲的原理寫成計算機程序,那麼計算機也就會玩兒拼圖游戲了。
在拼圖的時候,我們要尋找一些唯一的特征,這些特征要適合被跟蹤,容易被比較。我們在一副圖像中搜索這樣的特征,找到它們,而且也能在其他圖像中找到這些特征,然後再把它們拼接在一起。
那麼在計算機中,如何找到這些特征呢?
如果我們深入的觀察一些圖像並搜索不同區域,以下圖為例:
在圖的上方給出了六個小圖。找到這些小圖在原始圖像中的位置。你能找到多少個正確結果呢?
A、B、C、D這些位置雖然可以知道近似位置,但是准確位置還是很難找到。這是因為:沿著邊緣,所有地方都一樣。
所以邊緣是比平面更好的特征,但是還不夠好。
最後可以發現E和F是建築的一些角點。它們能很容易的被找到。因為在角點的地方,無論你向哪個方向移動小圖,結果都會有很大不同。所以可以把它們當做一個好的特征。為了更好的理解這個概念,我們再舉一個簡單例子。
在上圖中:
角點是圖像中很重要的特征,對圖像圖形的理解和分析有很重要的作用。
角點在三維場景重建運動估計,目標跟蹤,目標識別,圖像配准和匹配等計算機視覺領域起著很重要的作用。
在現實世界中,角點對應於物體的拐角,道路的十字路口、丁字樓口等。
下面我們使用OpenCV中的各種算法來查找圖像的特征,並對其進行描述。
在這一章,我們引入了圖像特征和角點的概念,角點這個概念非常的重要,一定要認真記下,准確使用。