Harris算子的一個缺點是不具有尺度不變性,所以引入了另一種檢測算子:高斯拉普拉斯算子。
LoG算子
前面提到過高斯一階導,其作用是檢測邊緣(邊緣區域高斯一階導數取得極值),那麼對一階導數繼續求導得到二階導數,可想而知,一階導數的極值點就是二階導數的0點。進而可以通過尋找二階導數的0點(亦或是接近於0的點),去尋找圖片的梯度(邊緣)。
拉普拉斯算子的表示式:
或者:
LoG曲線
對高斯函數進行二階求導
曲線圖
尺度歸一化
在LoG前面加變換率,就變成了LoG歸一化:
非極大值抑制
LoG檢測完一塊區域後,爲避免後續出現重複檢測,一般採用非極大值抑制方式:非極大值點置爲0。
LoG的處理流程
斑點檢測
LoG取極值的點,就是要找的斑點。
利用LoG進行濾波,得到的邊緣檢測圖:
代碼
(略)