MATLAB编程-Foerstner算子计算角点

2024-02-22 21:58

本文主要是介绍MATLAB编程-Foerstner算子计算角点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、程序结果

2、Foerstner算子原理

算子是通过计算各像素的Robert's梯度值和以像素为中心的一个窗口的灰度协方差矩阵 , 在图像中寻找具有尽可能小而接近圆的误差椭圆的点作为特征点 。 它能给 出特征点的类型且精度较高,所 实际中应用比较广泛.

[+v  matlab56 沟通技术问题]   

3、程序

disp('Calling ip_fop ...');[win, corner, circ, noclass]=ip_fop( ...g,                                       ... intensity image (one channel, grey-level image)'DETECTION_METHOD',        'foerstner',  ... method for optimal search window: 'foerstner' (default) or 'koethe'   'SIGMA_N'                  ,1.0,         ... standard deviation of (constant) image noise (default: 2.0)'DERIVATIVE_FILTER'        ,'gaussian2d',... filter for gradient: 'gaussian2d'(default) oder 'gaussian1d''INTEGRATION_FILTER'       ,'gaussian',  ... integration kernel: 'box_filt' (default) oder 'gaussian' 'SIGMA_DERIVATIVE_FILTER'  ,0.7,         ... size of derivative filter (sigma) (default: 1.0)'SIGMA_INTEGRATION_FILTER' ,2,           ... size of integration filter (default: 1.41 * SIGMA_DIFF)'PRECISION_THRESHOLD'      ,0.5,         ... threshold for precision of points (default: 0.5 Pixel)    'ROUNDNESS_THRESHOLD'      ,0.3,         ... threshold for roundness (default: 0.3)'SIGNIFICANCE_LEVEL'       ,0.999,       ... significance level for point classification (default: 0.999)'VISUALIZATION'            ,'on');       ... visualization on or off (default : 'off')% 输出:disp('Results:');% a) integer positions of window centersdisp('Positions of window centers (actually were integers in the internally scaled image):');for i=1:length(win)fprintf('%5.1f   %5.1f\n',win(i).r,win(i).c);end% b) subpixel positions of corners with covariance matrixdisp('Subpixel positions of corners with covariance matrix');for i=1:length(corner)r=corner(i).rc=corner(i).ccov=corner(i).covend% c) subpixel positions of circular points with covariance matrixdisp('Subpixel positions of circular points with covariance matrix:');for i=1:length(circ)r=circ(i).rc=circ(i).ccov=circ(i).covend% d) window centers of points with could not be classified unambiguously  disp('Window centers of points with could not be classified unambiguously:');for i=1:length(noclass)r=noclass(i).rc=noclass(i).c    end

这篇关于MATLAB编程-Foerstner算子计算角点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/736617

相关文章

大厂Java笔试题之计算日期是一年中第几天

题目: 描述  根据输入的日期,计算是这一年的第几天。  保证年份为4位数且日期合法。  进阶:时间复杂度:O(n) ,空间复杂度:O(1)  输入描述:  输入一行,每行空格分割,分别是年,月,日  输出描述:  输出是这一年的第几天  示例  输入:2012 12 31 输出:366  public class Demo14 {public static void main(Strin

第6章:6.4.2 案例二:爬取成语网站数据 (MATLAB入门课程)

讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 本案例用到的网址为:成语大全列表成语大全列表https://chengyu.bmcx.com/e1zdh_1__chengyulist/ 请大家在电脑浏览器中打开上方的网址: 请使用鼠标滚轮将

Niobe WiFi IoT开发板OpenHarmony内核编程开发——Thread多线程

本示例将演示如何在Niobe WiFi IoT开发板上使用cmsis 2.0 接口进行多线程开发 Thread API分析 osThreadNew() osThreadId_t osThreadNew(osThreadFunc_t func, void *argument,const osThreadAttr_t *attr ) 描述: 函数osThreadNew通过将线程添加到活

一句话计算复选框选中个数

看到网上很多中计算复选框个数的方法,各种循环,其他没有那么麻烦,只要一句话就可以了,分享给大家。 代码如下: $("input[name=attenceConfirmState]:checked").length html代码: <input type="checkbox" name="attenceConfirmState" value="1" />已确认<i

微机原理关于存储器译码相关计算

T1门电路译码电路 (1)该电路采用是全地址译码方式还是部分译码方式,说明原因。 (2)计算出SRAM 62256存取器容量大小,用KB为单位? (3)分析写出SRAM 62256的地址范围。 解答: (1)全地址译码,因为使用了全部地址线。 (2)共15根地址线,A0-A14,2^15=32k,又因为是存储容量,一个单元8位,即1B,故容量大小为32kB. (3)要使门电路输出1,则

学习率a的计算标准

当学习率a非固定时,因为梯度下降是找的最小值,那么,在和给定的前提下,即寻找的最小值,即 进一步,如果h(α)可导,局部最小值处的α 满足: 对于该二次近似函数: 两种方法: 1、线性搜索(Line Search)(最简单)      二分线性搜索(Bisection Line Search)  不断将区间[α1, α2]分成两半,选择端点异号 的一侧,知道区间足够小或者找到

FJSP:袋鼠群优化(Kangaroo Swarm Optimization ,KSO)算法求解柔性作业车间调度问题(FJSP),提供MATLAB代码

一、柔性作业车间调度问题 柔性作业车间调度问题(Flexible Job Shop Scheduling Problem,FJSP),是一种经典的组合优化问题。在FJSP问题中,有多个作业需要在多个机器上进行加工,每个作业由一系列工序组成,每个工序需要在特定的机器上完成。同时,每个机器一次只能处理一个工序,且每个工序的处理时间可能不同。 FJSP问题的目标是找到一个最优的作业调度方案,使得所有

网络编程【InetAddress , TCP 、UDP 、HTTP 案例】

day38上 网络编程 InetAddress 理解:表示主机类 一个域名 对应 多个IP地址 public static void main(String[] args) throws UnknownHostException {//获取本机的IP地址// InetAddress localHost = InetAddress.getLocalHost();// Syst

Matlab r2023b Simulink 给子系统添加封面

写这篇记录的原因是,r2023b版本里改动了自定义封面的界面,而我是一个新手小白,零基础,探索一天之后发现实现方法。最终效果如图: 步骤1:打开软件,点击Simulink,再打开含有子系统的工程文件(或者自己建一个子系统)。 步骤2:在网络上下载好图片,记得单独存放在一个文件夹下。 步骤3:在步骤一中的工程文件里,选中要添加封面的子系统,右键选择“封装”--->“创建封装”。 然后就会

Vue路由——编程式导航

编程式导航 - 基础使用 编程式导航是使用JS代码进行跳转 语法: this.$router.push({path: "路由路径", // 都去 router/index.js定义name: "路由名"//path和name二选一}) path方法也可以简写 this.$router.push({path: "路由路径"})//上面的也可以简写为:this.$router.pus