一、ORB特徵點匹配
ORB特徵點匹配是將圖像中的ORB特徵點進行匹配,找到兩張圖像中相對應的特徵點,從而實現圖像的拼接、目標跟蹤、三維重建等功能。
在進行ORB特徵點匹配之前,需要對ORB特徵點進行提取。提取ORB特徵點的方法有ORB算法、FAST算法、SIFT算法等,其中ORB算法最常用且效果較好。
ORB特徵點匹配的步驟如下:
//提取圖像中的ORB特徵點 cv::ORB orb; cv::Mat descriptors1, descriptors2; std::vector keypoints1, keypoints2; orb.detectAndCompute(image1, cv::Mat(), keypoints1, descriptors1); orb.detectAndCompute(image2, cv::Mat(), keypoints2, descriptors2); //進行ORB特徵點匹配 cv::BFMatcher matcher(cv::NORM_HAMMING); std::vector matches; matcher.match(descriptors1, descriptors2, matches);
其中,ORB算法需要調整一些參數,如ORB::nFeatures、ORB::scaleFactor、ORB::nlevels等,以控制提取的ORB特徵點數量、特徵點尺度等,從而獲得更好的匹配效果。
二、ORB特徵
ORB特徵是一種不變特徵,它對光照變化、旋轉、縮放等因素具有魯棒性。
ORB特徵本質上是由二進制位組成的字符串,可以用來表示圖像特徵。ORB特徵點的提取過程中,每個特徵點都會生成一個128維的ORB特徵向量。這128維向量是通過計算特徵點周圍的像素點與特徵點的灰度值差異、方向等信息得到的。
與SIFT、SURF等特徵相比,ORB特徵是由二進制位組成的字符串,具有更高的計算效率,可以被廣泛應用到實時圖像處理、嵌入式設備等場合。
三、ORB特徵點提取
ORB特徵點提取是指從圖像中提取出ORB特徵點的過程。ORB特徵點提取主要包括以下幾個步驟:
1、構建圖像金字塔:對圖像進行多次縮放,得到不同尺度的圖像。
2、通過Harris角點算子或FAST(Features from Accelerated Segment Test)算法檢測圖像中的角點。
3、在檢測到的角點周圍,使用尺度不變的BRIEF(Binary Robust Independent Elementary Features)算法進行特徵描述。
4、在所有提取出的特徵點中,使用非最大值抑制算法進行篩選,選取較為顯著的特徵點。
ORB特徵點提取的MATLAB代碼實現如下:
%構建圖像金字塔 octaves = 4; scales = 5; sigma = 1.2; img_pyr = cell(1, octaves); img_pyr{1} = im; for i=2:octaves img_pyr{i} = impyramid(img_pyr{i-1}, 'reduce'); end %檢測ORB特徵點 keypoints = cell(1, octaves*scales); idx = 1; for o=1:octaves for s=1:scales scale = sigma^((o-1)*scales + s - 1); radius = 3 * scale; corners = detectFASTFeatures(img_pyr{o}); %使用FAST算法檢測角點 [descriptors, valid_corners] = extractFeatures(img_pyr{o}, corners); %使用BRIEF算法進行特徵描述 keypoints{idx} = valid_corners.selectStrongest(200); %使用非最大值抑制算法篩選顯著的特徵點 idx = idx + 1; end end
四、ORB特徵點在MATLAB中的選取
MATLAB中可以使用「detectSURFFeatures」函數、”detectBRISKFeatures”函數等實現ORB特徵點的提取和選取。
例如,使用「detectSURFFeatures」函數進行ORB特徵點提取和選取的MATLAB代碼如下:
%使用SURF算法提取ORB特徵點 pts = detectSURFFeatures(rgb2gray(im), 'MetricThreshold',100, 'NumOctaves', 3, 'NumScaleLevels', 4); %篩選出ORB特徵點 keypoints = pts.selectStrongest(200);
使用不同的參數值,可以控制提取和選取的ORB特徵點數量和質量。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/239302.html