點(diǎn)特征提取算法實(shí)現(xiàn)_第1頁
點(diǎn)特征提取算法實(shí)現(xiàn)_第2頁
點(diǎn)特征提取算法實(shí)現(xiàn)_第3頁
點(diǎn)特征提取算法實(shí)現(xiàn)_第4頁
點(diǎn)特征提取算法實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Harris_ex實(shí)現(xiàn)代碼:#inelude #include using namespacestd;using namespacecv;#define WINDOW_NAME【程序窗口 1】#define WINDOW_NAME【程序窗口 2】Mat g_srclmage, g_srclmage1, g_graylmage;int thresh = 30;/ 當(dāng)前閾值int max_thresh = 175;/ 最大閾值void on_CornerHarris( int , void *);/ 回調(diào)函數(shù)int main() g_srclmage = imread( Harris_exampl

2、e.jpg ); imshow(”【原始圖】,g_srclmage);g_srclmage1 = g_srclmage.cl on e();cvtColor(g_srclmage1, g_graylmage, COLOR_BGR2GRAY n amedWi ndowWVINDOW_NAM E1createTrackbar(閾值:”,WINDOW_NAM&thresh, max_thresh, on_Corn erHarris);on_CornerHarris(0, 0);while (waitKey(9) != 27);return 0;void on_CornerHarris( int ,

3、void *) Mat dstlmage, no rmlmage, scaledlmage;dstlmage = Mat:zeros(g_srclmage.size(), CV_32FC)tg_srclmage1 = g_srclmage.cl on e(); cornerHarris(g_grayImage, dstlmage, 2, 3, 0.04);/ 進(jìn)行角點(diǎn)檢測normalize(dstlmage, normlmage, 0, 255, NORM_MINMAX / 歸一化 convertScaleAbs(normlmage, scaledlmage);/ 轉(zhuǎn)換為 8位無符號整形/將檢

4、測到的,且符合閾值條件的角點(diǎn)繪制出來for ( int j = 0; j normlmage.rows; j+) for ( int i = 0; i normlmage.cols; i+) if ( int )normlmage.at(j, i)thresh + 80) circle(g_srclmage1,Point (i,j),5, Scalar (10,10, 255),2);circle(scaledlmage,Point (i,j),5, Scalar (10,10, 255),2);imshow(WINDOW_NAMgE1srclmage1); imshow(WINDOW NAM

5、Caiedlmage);程序結(jié)果:shi-Tomasi實(shí)現(xiàn)代碼:#include 255),#include using namespacestd;using namespacecv;#define WINDOW_NAM【Shi-Tomasi 角點(diǎn)檢測】Mat g_srclmage, g_graylmage;int g_maxCornerNumber = 33, g_maxTrackbarNumber = 500;RNGng;void on_GoodFeaturesToTrack( int , void *);int main() g_srcImage = imread( Shi-Tomasi

6、.jpg );cvtColor(g_srclmage, g_grayImage, COLOR_BGR2GRAYn amedWi ndoW(VINDOW_NAMEcreateTrackbar(最大角點(diǎn)數(shù) ”, WINDOW_NAM盛g_maxCornerNumber, g_maxTrackbarNumber, on _GoodFeaturesToTrack);imshow(WINDOW_NA M_srcImage);on _GoodFeaturesToTrack(0, 0);while (waitKey(9) != 27);return 0; void on_GoodFeaturesToTrac

7、k( int , void *) if (g_maxCornerNumber = 1) g_maxCornerNumber = 1;vector corners;double qualityLevel = 0.01;/角點(diǎn)檢測可接受的最小特征值double minDistanee = 10;/角點(diǎn)之間的最小距離goodFeaturesToTrack(g_graylmage, /輸入圖像corners, /檢測到角點(diǎn)的 g_maxCornerNumber, /角點(diǎn)的最大數(shù)量 qualityLevel, /角點(diǎn)檢測可接受的最小特征值 minDistanee);/角點(diǎn)之間的最小距離cout 此次檢測

8、到的角點(diǎn)數(shù)量為: corners.size() endl; Mat copy = g_srclmage.clone();/復(fù)制源圖像到一個臨時變量int r = 4;for ( unsigned int i = 0; i corners.size(); i+)circle(copy, cornersi, r, Scalar (g_rng.uniform(0, g_rng.uniform(0, 255), g_rng.uniform(0, 255), -1);imshow(WINDOW_NA Mopy);程序結(jié)果:Shi-Tomasi 甬凈噲:換是大角點(diǎn);133 SIFT_example 實(shí)現(xiàn)代

9、碼:#inelude #inelude #inelude using namespacestd;using namespacecv;int main()Mat image01 = imread(sift_img1.jpg);Mat image02 = imread(sift_img2.jpg);Mat image1, image2;Gaussia nBlur(image01, image1, Size (3, 3), 0.5);Gaussia nBlur(image02, image2. Size (3, 3), 0.5);/提取特征點(diǎn)SiftFeatureDetector siftDetec

10、tor(30); / 限定提起前 30 個特征點(diǎn) vector vKeyPoint keyPoint1, keyPoint2;siftDetector.detect(image1, keyPoi nt1);siftDetector.detect(image2, keyPoint2);/繪制特征點(diǎn)drawKeypoints(image1,keyPoint1,image1,Scalar :all(-1),DrawMatchesFlags: DRAW_RICH_KEYPOINTSdrawKeypoints(image2,keyPoint2,image2,Scalar :all(-1),DrawMat

11、chesFlags: DRAW_RICH_KEYPOINTSnamedWindow(KeyPoints of image1, 0);namedWindow(KeyPoints of image2, 0);imshow(KeyPoi nts of image1, image1);imshow(KeyPoi nts of image2, image2);/特征點(diǎn)描述,為下邊的特征點(diǎn)匹配做準(zhǔn)備SiftDescriptorExtractor siftDescriptor;Mat imageDesc1, imageDesc2; siftDpute(image1, keyPo in t1, imageDesc1); siftDpute(image2, keyPoint2, imageDesc2);/特征點(diǎn)匹配并顯示匹配結(jié)果BruteForceMatcher L2 matcher;vector matchePoints; matcher.match(imageDesc1, imageDesc2, matchePoi nts, Mat();Mat im

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論