角點偵測演算法 (Corner Detection Algorithms)

更新於 發佈於 閱讀時間約 4 分鐘

角點偵測演算法 (Corner Detection Algorithms) 是電腦視覺中用於識別圖像中「角點」的技術。角點是指圖像中在兩個或多個方向上具有顯著強度變化的像素點,可以理解為圖像中局部區域的交叉點、尖銳的轉角或紋理的終止點。

為什麼角點偵測很重要?

角點在圖像分析中扮演著重要的角色,因為它們通常具有以下特性:

* 獨特性: 相較於平坦區域或邊緣,角點在圖像中更容易被精確定位和區分。

* 局部性: 角點是局部特徵,其信息集中在一個小的圖像區域內。

* 穩定性: 在一定程度的圖像變換(如旋轉、縮放、光照變化)下,角點相對穩定。

* 對應性: 角點可以用於在不同的圖像之間建立對應關係,例如在影像配準、物體追蹤和三維重建等任務中。

常見的角點偵測演算法:

有許多不同的角點偵測演算法,它們基於不同的數學原理和方法。以下是一些最常見的:

* Harris 角點偵測器 (Harris Corner Detector)

* 這是最經典且廣泛使用的角點偵測演算法之一。

* 它通過分析圖像中一個小鄰域內像素強度的變化來判斷是否為角點。

* Harris 角點偵測器會計算一個角點響應函數,該函數基於局部灰度梯度。當這個響應值在兩個主要方向上都很大時,該點就被視為角點

* Harris 角點具有旋轉不變性,但對尺度變化敏感。

* Shi-Tomasi 角點偵測器 (Good Features to Track):

* Shi-Tomasi 方法是對 Harris 角點偵測器的改進。

* 它直接計算局部灰度梯度協方差矩陣的兩個特徵值,並將較小的特徵值作為角點的評分。

* Shi-Tomasi 角點通常比 Harris 角點更穩定,尤其在有噪聲的情況下。

* FAST (Features from Accelerated Segment Test) 角點偵測器:

* FAST 是一種計算效率非常高的角點偵測演算法。

* 它通過檢查一個像素周圍的圓形鄰域內是否存在連續的像素,其強度與中心像素的強度有顯著差異來判斷是否為角點。

* FAST 角點的計算速度非常快,適合用於即時應用。

* SIFT (Scale-Invariant Feature Transform) 和 SURF (Speeded Up Robust Features):

* 雖然 SIFT 和 SURF 主要被視為特徵點偵測和描述子,但它們也會檢測圖像中的關鍵點,這些關鍵點很多時候都是角點。

* 這兩種演算法的優點是具有尺度和旋轉不變性,使其在更複雜的場景中也能有效地工作。

角點偵測的步驟 (以 Harris 為例簡述):

* 計算圖像在 x 和 y 方向的梯度 (Ix, Iy)。

* 計算這些梯度的平方和及乘積 (Ix², Iy², IxIy)。

* 對這些結果進行高斯平滑,得到局部區域的平均值。

* 計算 Harris 角點響應函數 R = det(M) - k(trace(M))²,其中 M 是由 Ix², Iy², IxIy 的局部平均值組成的 2x2 矩陣,k 是一個經驗常數。

* 設定一個閾值,響應值 R 大於該閾值的像素點被認為是候選角點。

* 進行非極大值抑制 (Non-Maximum Suppression, NMS),去除鄰近的重複角點,保留局部響應最大的角點。

總結:

角點偵測演算法是電腦視覺中用於尋找圖像中具有顯著局部特徵的關鍵技術。不同的演算法在計算效率、穩定性和對各種圖像變換的魯棒性方面有所不同。選擇哪種演算法取決於具體的應用需求和場景特性。

留言
avatar-img
留言分享你的想法!
avatar-img
郝信華 iPAS AI應用規劃師 學習筆記
16會員
424內容數
現職 : 富邦建設資訊副理 證照:經濟部 iPAS AI應用規劃師 AWS Certified AI Practitioner (AIF-C01)
2025/05/28
擴增實境 (Augmented Reality, AR) 是一種將電腦產生的圖像、資訊或感知數據疊加到真實世界環境中的技術。與創造一個完全虛擬世界的虛擬實境 (Virtual Reality, VR) 不同,AR 的目的是增強使用者對現實世界的體驗,將虛擬元素融入真實環境中。 以下是擴增實境的一些
2025/05/28
擴增實境 (Augmented Reality, AR) 是一種將電腦產生的圖像、資訊或感知數據疊加到真實世界環境中的技術。與創造一個完全虛擬世界的虛擬實境 (Virtual Reality, VR) 不同,AR 的目的是增強使用者對現實世界的體驗,將虛擬元素融入真實環境中。 以下是擴增實境的一些
2025/05/28
立體視覺 (Stereoscopic Vision) 是指生物(包括人類)通過雙眼感知三維世界的能力,也就是我們常說的「3D視覺」或「景深」。它讓我們能夠判斷物體的距離、大小和形狀,並感知空間的深度。 以下是立體視覺的主要原理: * 雙眼視差 (Binocular Disparity): 我們
2025/05/28
立體視覺 (Stereoscopic Vision) 是指生物(包括人類)通過雙眼感知三維世界的能力,也就是我們常說的「3D視覺」或「景深」。它讓我們能夠判斷物體的距離、大小和形狀,並感知空間的深度。 以下是立體視覺的主要原理: * 雙眼視差 (Binocular Disparity): 我們
2025/05/28
仿射變換 (Affine Transformation) 是一種二維幾何變換,它將一個平面上的點映射到另一個平面上的點,並保持直線的「直線性」和平行線的「平行性」。簡單來說,經過仿射變換後,圖像中的所有直線仍然是直線,平行的線仍然是平行的,但長度、角度和比例可能會改變。 更正式地說,一個二維的仿射
2025/05/28
仿射變換 (Affine Transformation) 是一種二維幾何變換,它將一個平面上的點映射到另一個平面上的點,並保持直線的「直線性」和平行線的「平行性」。簡單來說,經過仿射變換後,圖像中的所有直線仍然是直線,平行的線仍然是平行的,但長度、角度和比例可能會改變。 更正式地說,一個二維的仿射
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
在影像辨識中,若遇到物件與背景難以分辨的狀況下,先做一下色彩分析,知道了色彩強度階層上的像素數,有助於了解後續需要做什麼處理,比較好分割出辨識物。 若想辨識的物件與背景的RGB值過於接近,也比較好說明此狀況,為什麼較難分割出物件。 成果呈現 第一張圖:左邊為原圖,右邊為分析結果的圖,用其他顏
Thumbnail
在影像辨識中,若遇到物件與背景難以分辨的狀況下,先做一下色彩分析,知道了色彩強度階層上的像素數,有助於了解後續需要做什麼處理,比較好分割出辨識物。 若想辨識的物件與背景的RGB值過於接近,也比較好說明此狀況,為什麼較難分割出物件。 成果呈現 第一張圖:左邊為原圖,右邊為分析結果的圖,用其他顏
Thumbnail
先上成果圖,如果是螺母的話就標註 is circle來區分。 簡單的用圖表加文字說明AOI辨識 在此文章的範例中: 影像前處理:色彩空間轉換(灰階) -> 二值化閥值處理 演算法:尋找輪廓 數值判斷:長,寬,面積,周長 圖片來源 程式碼 import cv2 import nu
Thumbnail
先上成果圖,如果是螺母的話就標註 is circle來區分。 簡單的用圖表加文字說明AOI辨識 在此文章的範例中: 影像前處理:色彩空間轉換(灰階) -> 二值化閥值處理 演算法:尋找輪廓 數值判斷:長,寬,面積,周長 圖片來源 程式碼 import cv2 import nu
Thumbnail
攝影構圖會影響畫面的視覺平衡和觀感,像是運用三分法則等技法,能夠精準地引導觀眾的視線,使畫面更加動人。
Thumbnail
攝影構圖會影響畫面的視覺平衡和觀感,像是運用三分法則等技法,能夠精準地引導觀眾的視線,使畫面更加動人。
Thumbnail
[OpenCV應用][Python]找出圖像中的四個方位的邊緣點求出寬高 呈上篇應用Numpy找到的座標點,那我們如何捨棄掉差異過大的座標點呢? 可能圖像物件邊緣不佳,採樣就會差異過大,造成計算出的寬高是不準確的。 遇到這種狀況,就可以使用下方的程式範例來篩選座標點。 為求方便,此範例跟圖
Thumbnail
[OpenCV應用][Python]找出圖像中的四個方位的邊緣點求出寬高 呈上篇應用Numpy找到的座標點,那我們如何捨棄掉差異過大的座標點呢? 可能圖像物件邊緣不佳,採樣就會差異過大,造成計算出的寬高是不準確的。 遇到這種狀況,就可以使用下方的程式範例來篩選座標點。 為求方便,此範例跟圖
Thumbnail
觀看本文將可以學習到如何利用Numpy求得物件的邊緣點,及算出物件的寬跟高。 有詳細的程式邏輯說明,及各函式用法說明。 綠點及紅點則是採樣到的邊界點,比較粗的點是偵測到的最大值 完整程式碼 import cv2 import numpy as np import matplotl
Thumbnail
觀看本文將可以學習到如何利用Numpy求得物件的邊緣點,及算出物件的寬跟高。 有詳細的程式邏輯說明,及各函式用法說明。 綠點及紅點則是採樣到的邊界點,比較粗的點是偵測到的最大值 完整程式碼 import cv2 import numpy as np import matplotl
Thumbnail
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
Thumbnail
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
Thumbnail
廢話不多說,先上成果圖。 成果圖 主要實現方法 1.灰階後利用cv2.Canny找物體的邊緣 2.找物件相對應的直線cv2.HoughLines 3.分類為橫向和垂直的直線角度,求得相對於物件的旋轉角度 4.根據算出的相對應旋轉角度將物件轉正
Thumbnail
廢話不多說,先上成果圖。 成果圖 主要實現方法 1.灰階後利用cv2.Canny找物體的邊緣 2.找物件相對應的直線cv2.HoughLines 3.分類為橫向和垂直的直線角度,求得相對於物件的旋轉角度 4.根據算出的相對應旋轉角度將物件轉正
Thumbnail
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
Thumbnail
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
Thumbnail
本文介紹OpenCV中的SimpleBlobDetector用於檢測斑點或圓,以及其與霍夫轉換找圓方法的差異。透過程式範例和解析,講解檢測到的關鍵點和設定參數,並整理SimpleBlobDetector與霍夫轉換的不同。最後,探討不同的應用場景和參數調整。
Thumbnail
本文介紹OpenCV中的SimpleBlobDetector用於檢測斑點或圓,以及其與霍夫轉換找圓方法的差異。透過程式範例和解析,講解檢測到的關鍵點和設定參數,並整理SimpleBlobDetector與霍夫轉換的不同。最後,探討不同的應用場景和參數調整。
Thumbnail
本文將利用OpenCV的findContours函式,從找到的輪廓中來計算物件的面積,周長,邊界框等屬性,從而得到物體的寬度與高度。 一般來說,我們在進行輪廓檢測時,會先進行圖像二值化,將對象轉換為白色,背景為黑色。這樣,在找到輪廓後,輪廓的點就會以白色表示,背景為黑色。 結果圖 從圖中綠色框
Thumbnail
本文將利用OpenCV的findContours函式,從找到的輪廓中來計算物件的面積,周長,邊界框等屬性,從而得到物體的寬度與高度。 一般來說,我們在進行輪廓檢測時,會先進行圖像二值化,將對象轉換為白色,背景為黑色。這樣,在找到輪廓後,輪廓的點就會以白色表示,背景為黑色。 結果圖 從圖中綠色框
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News