《sift算法的MATLAB程序》由会员分享,可在线阅读,更多相关《sift算法的MATLAB程序(2页珍藏版)》请在人人文库网上搜索。

1、 image, descriptors, locs = sift(imageFile)% This function reads an image and returns its SIFT keypoints.% Input parameters:% imageFile: the file name for the image.% Returned:% image: the image array in double format% descriptors: a K-by-128 matrix, where each row gives an invariant%descriptor for 。

2、one of the K keypoints. The descriptor is a vector%of 128 values normalized to unit length.% locs: K-by-4 matrix, in which each row has the 4 values for a%keypoint location (row, column, scale, orientation). The%orientation is in the range -PI, PI radians.% Credits: Thanks for initial version of thi。

3、s program to D. Alvaro and%J.J. Guerrero, Universidad de Zaragoza (modified by D. Lowe)function image, descriptors, locs = sift(imageFile)% Load imageimage = imread(imageFile);% If you have the Image Processing Toolbox, you can uncomment the following% lines to allow input of color images, which wil。

4、l be converted to grayscale.% if isrgb(image)% image = rgb2gray(image);% endrows, cols = size(image);% Convert into PGM imagefile, readable by keypoints executablef = fopen( tmp.pgm , w );if f = -1error(Could not create file tmp.pgm.);endfprintf(f, P5n%dn%dn255n , cols, rows);fwrite(f, image, uint8 。

5、);fclose(f);% Call keypoints executableif isunixcommand = !./sift ;elsecommand = !siftWin32 ;endcommand = command tmp.key ;eval(command);% Open tmp.key and check its headerg = fopen( tmp.key , r );if g = -1error( Could not open file tmp.key. ); endheader, count = fscanf(g, %d %d , 1 2);if count = 2e。

6、rror( Invalid keypoint file beginning. ); endnum = header(1);len = header(2);if len = 128);%row col scale orierror( Keypoint descriptor length invalid (should be 128). end% Creates the two output matrices (use known size for efficiency) locs = double(zeros(num, 4);descriptors = double(zeros(num, 128。

7、);% Parse tmp.keyfor i = 1:numvector, count = fscanf(g, %f %f %f %f , 1 4); if count = 4error( Invalid keypoint file format ); endlocs(i, :) = vector(1, :);descrip, count = fscanf(g, %d , 1 len); if (count = 128)error( Invalid keypoint file value. ); end% Normalize each input vector to unit length descrip = descrip / sqrt(sum(descrip.A2); descriptors(i, :) = descrip(1, :);end fclose(g。

用matlab实现sift算法,sift算法的MATLAB程序相关推荐

  1. 利用SIFT和RANSAC算法(openCV框架)实现物体的检测与定位,并求出变换矩阵(findFundamentalMat和findHomography的比较)

    本文目标是通过使用SIFT和RANSAC算法,完成特征点的正确匹配,并求出变换矩阵,通过变换矩阵计算出要识别物体的边界(文章中有部分源码,整个工程我也上传了,请点击这里). SIFT算法是目前公认的效 ...

  2. 图像特征提取与描述_角点特征02:SIFT算法+SURF算法

    SIFT/SURF算法 1.1 SIFT原理 前面两节我们介绍了Harris和Shi-Tomasi角点检测算法,这两种算法具有旋转不变性,但不具有尺度不变性,以下图为例,在左侧小图中可以检测到角点,但 ...

  3. 你真的理解图像处理算法SIFT吗?

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者 | LYP2020 来源 | 知乎,https://z ...

  4. 你真的理解图像处理经典算法 SIFT 吗?最深入、最全面综述:尺度不变特征转换

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨LYP2020@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/ ...

  5. [图像识别]10.OpenCV的特征点检测 SIFT和SURF算法

    回顾,上节课你学了什么? R=cv.cornerHarris(img,blockSize,ksize,k) corners=cv.goodFeaturesToTrack(img,maxCorners, ...

  6. 你真的理解图像处理经典算法SIFT吗?最全面综述:尺度不变特征转换

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨LY ...

  7. java opencv surf_在OpenCV3.1.0中使用SIFT,SURF算法

    写在前边: 1.我使用的是python2.7 + OpenCV3.1.0 2.OpenCV3.0.0+的文档有很大问题,很多文档写的还是OpenCV2.0+, OpenCV3.0+根本用不了,其中有一 ...

  8. 图像处理SIFT与SURF算法详解

    图像的特征点检测是图像配准的第一步,下面将为大家介绍尺度不变特征检测(SIFT)和加速鲁棒特征检测(SURF)两种算法. 一.SIFT算法 SIFT 算法是一种高精度的特征点检测算法.运用此算法检测出 ...

  9. OpenCV2学习笔记(十二):特征提取算法SIFT与SURF

    当尝试在不同图像之间进行特征匹配时,通常会遇到图像的大小.方向等参数发生改变的问题,简而言之,就是尺度变化的问题.每幅图像在拍摄时与目标物体的距离是不同的,因此要识别的目标物体在图像中自然会存在不同的 ...

  10. matlab怎么匹配特征参数,sift特征匹配matlab

    首先对彩色壁画图像提取 SIFT 特征 点与特征向量,然后对每个特征点提取 HSI 彩色特征,最后按定义的相似性度 量公式计算两个特征点之间的距离,确定二者是否匹配.... 通过计算机中 的 Matl ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(2)
  2. python矩阵运算库效率_python - 布尔矩阵运算的最快方法_performance_酷徒编程知识库...
  3. python hist函数_Python主要数据探索函数
  4. ThinkPHP5.0中Redis的使用和封装
  5. java B2B2C Springboot电子商城系统
  6. 编写第一个Java程序:helloworld
  7. vscode 结束_21 个VSCode 快捷键,让代码更快,更有趣
  8. linux汇编stdin,汇编:从标准输入中读取整数,将其递增并打印到标准输出
  9. python random库怎么用_Python || Random库的使用
  10. boost正则库匹配ASII编码的中文、全角字符示例
  11. 震惊,CSDN居然可以打出爱心?
  12. 简单的 XML、DTD 文件
  13. ASP.NET 事件日历(some resource about Event Calendar)
  14. 登陆模块防止恶意用户SQL注入攻击
  15. webStrom 开始你的第一个React应用
  16. mysql时间10位数字_mysql—MySQL数据库中10位时间戳转换为标准时间后,如何对标准时间进行加减X天处理...
  17. python圣诞树代码_用Python画一棵带音乐的雪夜圣诞树
  18. 一个小小的发现--音频也八卦
  19. 【Cocos2d-html5】运动中速度效果
  20. windows与ubuntu Centos系统下载站点整理(自用)

热门文章

  1. OpenCV之图像二值化与去噪
  2. 学习iOS从object-c开始-语法(一)
  3. arduino nano 蓝牙_初学者适用!基于Arduino开发板控制SG90伺服电机方案
  4. 平昌县网上书城系统设计与实现
  5. 软件架构--工业软件架构分析
  6. fanuc机器人控制柜接线_工业机器人控制柜及使用方法
  7. 集成电路总设计(Ⅴ)
  8. 如何发布google离线地图及二次开发API
  9. 学习模式上的记录之统计篇一 秩和检验
  10. Data Binding 指南