点特征提取算法实现_第1页
点特征提取算法实现_第2页
点特征提取算法实现_第3页
点特征提取算法实现_第4页
点特征提取算法实现_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Harris_ex实现代码:#inelude #include using namespacestd;using namespacecv;#define WINDOW_NAME【程序窗口 1】#define WINDOW_NAME【程序窗口 2】Mat g_srclmage, g_srclmage1, g_graylmage;int thresh = 30;/ 当前阈值int max_thresh = 175;/ 最大阈值void on_CornerHarris( int , void *);/ 回调函数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);/ 进行角点检测normalize(dstlmage, normlmage, 0, 255, NORM_MINMAX / 归一化 convertScaleAbs(normlmage, scaledlmage);/ 转换为 8位无符号整形/将检

4、测到的,且符合阈值条件的角点绘制出来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);程序结果:shi-Tomasi实现代码:#include 255),#include using namespacestd;using namespacecv;#define WINDOW_NAM【Shi-Tomasi 角点检测】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(最大角点数 ”, 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;/角点检测可接受的最小特征值double minDistanee = 10;/角点之间的最小距离goodFeaturesToTrack(g_graylmage, /输入图像corners, /检测到角点的 g_maxCornerNumber, /角点的最大数量 qualityLevel, /角点检测可接受的最小特征值 minDistanee);/角点之间的最小距离cout 此次检测

8、到的角点数量为: corners.size() endl; Mat copy = g_srclmage.clone();/复制源图像到一个临时变量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);程序结果:Shi-Tomasi 甬净哙:换是大角点;133 SIFT_example 实现代

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);/提取特征点SiftFeatureDetector siftDetec

10、tor(30); / 限定提起前 30 个特征点 vector vKeyPoint keyPoint1, keyPoint2;siftDetector.detect(image1, keyPoi nt1);siftDetector.detect(image2, keyPoint2);/绘制特征点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);/特征点描述,为下边的特征点匹配做准备SiftDescriptorExtractor siftDescriptor;Mat imageDesc1, imageDesc2; siftDpute(image1, keyPo in t1, imageDesc1); siftDpute(image2, keyPoint2, imageDesc2);/特征点匹配并显示匹配结果BruteForceMatcher L2 matcher;vector matchePoints; matcher.match(imageDesc1, imageDesc2, matchePoi nts, Mat();Mat im

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论