文档

cpselect

控制点选择工具

语法

cpselect(移动、固定)
cpselect(移动、固定cpstruct_in)
cpselect(移动、固定、initialMovingPoints initialFixedPoints)
H = cpselect(___
H = cpselect(___“等待”,假)
[selectedMovingPoints,selectedFixedPoints] = cpselect(___“等待”,真的)

描述

例子

cpselect (移动固定启动控制点选择工具,这是一个允许您在两个相关图像中选择控制点的用户界面。移动图像是被扭曲的,这使它进入的坐标系固定的形象。移动而且固定可以是包含灰度、真彩色或二进制图像的变量,也可以是包含这些图像的文件的名称。控件中的控制点选择工具返回控制点cpstruct结构。

cpselect (移动固定cpstruct_in开始cpselect用一组初始控制点存储在cpstruct_in.该语法允许您重新启动cpselect带状态的控制点,包括未配对控制点和预测控制点,以前保存在cpstruct_in

例子

cpselect (移动固定initialMovingPointsinitialFixedPoints开始cpselect使用有效控制点对的初始集。initialMovingPoints而且initialFixedPoints-by-2矩阵存储移动而且固定分别为控制点坐标。这两列表示x- - -y-控制点的坐标。

h= cpselect (___返回句柄h到控制点选择工具。您可以使用关闭(h)语法从命令行关闭工具。

h= cpselect (___“等待”,假)返回句柄h到控制点选择工具。您可以使用关闭(h)语法从命令行关闭工具。相对于环境“等待”作为真正的,此语法允许您运行cpselect同时在MATLAB中运行其他程序®

例子

selectedMovingPointsselectedFixedPoints= cpselect(___“等待”,真的)控制MATLAB命令行,直到您完成选择控制点。cpselect返回有效的选定点对。selectedMovingPoints而且selectedFixedPointsp-by-2矩阵,分别存储在移动图像和固定图像中的坐标。这两列表示x- - -y-所选控制点的坐标。

例子

全部折叠

调用cpselect,指定要注册的映像和引用映像的名称。本例使用可选语法,该语法返回所创建的工具的句柄,以便您可以以编程方式关闭工具。

H = cpselect(“westconcordaerial.png”“westconcordorthophoto.png”);

关闭工具。

关闭(h)

创建一个示例参考图像。

I =棋盘;

创建示例图像的副本,旋转它以创建需要注册的示例图像。

J = imrotate(I,30);

为固定和移动图像指定两组控制点。

fixedPoints = [11 11;41 71];movingPoints = [14 44;70 81);

打开控制点选择工具,指定固定和移动图像样本以及两组保存的控制点。

cpselect (J,我,movingPoints定点);

当工具打开时,系统会提示您保存控制点。

将一张航空照片和一张正射影像读入工作区,并显示它们。

空中的,空中的“westconcordaerial.png”);图,imshow(空中)ortho = imread(“westconcordorthophoto.png”);图中,imshow(邻位的)

加载一些已经被选中的点。

负载westconcordpoints

打开控制点选择工具,指定两个图像和预选的点。使用“等待”要创建的参数cpselect等你再选几个点。

[aerial_points, ortho_points] =...cpselect(航空,“westconcordorthophoto.png”...movingPoints定点,...“等待”,真正的);

当控制返回到命令行时,执行注册。

第一次使用fitgeotrans估计使运动图像与固定图像对齐的几何变换。指定您选择的控制点和您想要的转换类型。

T_concord = fitgeotrans(aeral_points,ortho_points,“射影”);

下一个使用imwarp执行转换。通过定义空间引用对象昊图公司并将对象指定为“OutputView”时,已注册映像具有大小和位置匹配昊图公司

orth_ref = imref2d(size(ortho));%相关的内在和世界坐标Aerial_registered = imwarp(aerial,t_concord,“OutputView”, ortho_ref);图,imshowpair (aerial_registered,邻位的,“混合”

最后,将转换后的图像显示在原始正射影像上,以查看配准成功的情况。

图,imshowpair (aerial_registered,邻位的,“混合”

输入参数

全部折叠

要对齐的输入图像,指定为灰度、真彩色或二值图像或字符向量。灰度图像可以uint8uint16int16,或.真彩色图像可以uint8uint16,或.二值图像是一类图像逻辑.如果移动是字符向量,它必须标识包含这些相同类型图像的文件。

数据类型:||int16|uint8|uint16|逻辑|字符|字符串

参考图像,指定为灰度、真彩色或二值图像。灰度图像可以uint8uint16int16,或.真彩色图像可以uint8uint16,或.二值图像是一类图像逻辑.如果固定是字符向量,它必须标识包含这些相同类型图像的文件。

数据类型:||int16|uint8|uint16|逻辑|字符|字符串

预先选定的控制点,指定为结构(cpstruct).cpstruct_in包含关于x- - -y-运动和固定图像中所有控制点的坐标,包括未配对控制点和预测控制点。cpstruct_in还包含索引信息,这些信息允许控制点选择工具恢复控制点的状态。

创建一个cpstruct从控制点选择工具中导出点,详见将控制点导出到工作区

数据类型:结构体

移动图像上的预选控制点,指定为-by-2数值数组。这两列表示x- - -y-控制点的坐标。

数据类型:

在固定映像上预先选定的控制点,指定为-by-2数值数组。这两列表示x- - -y-控制点的坐标。

数据类型:

输出参数

全部折叠

控制点选择工具,返回一个手柄。

运动图像上的选定控制点,指定为p-by-2数值数组。这两列表示x- - -y-控制点的坐标。

数据类型:

选定的控制点上的固定图像,指定为p-by-2数值数组。这两列表示x- - -y-控制点的坐标。

数据类型:

提示

  • 当调用cpselect在脚本中,指定“等待”选择真正的.的“等待”选择的原因cpselect以阻塞MATLAB命令行,直到选择并返回控制点。如果您不使用“等待”选项,cpselect立即返回控件,脚本继续运行,不允许有时间选择控制点。此外,如果没有“等待”选项,cpselect不将控制点作为返回值返回。

算法

cpselect使用以下一般程序进行控制点预测。

  1. 找到所有有效的控制点对。

  2. 推断之间的空间变换移动而且固定控制点使用的方法取决于有效对的数量,如下所示:

    2双

    无反射相似

    3双

    仿射

    4对或以上

    射影

  3. 对新点应用空间变换。这个变换生成了预测点。

  4. 显示预测点。

R2006a之前介绍

这个话题有用吗?