MATLAB imref2d函数的理解与使用

MATLAB imref2d函数的理解与使用

本人小白,文章之中如有理解错误的地方还望大家指正。


最近老师布置了个全景图拼接的作业,要求用matlab完成,平时极少用matlab, 在读例程的时候遇imrefd这个函数时候一脸懵逼, 查看了官方的doc后, 第一反应是再一次懵逼…

1 imref2d 拿来干什么?

doc中对imref2d的功能描述是这样子的:

An imref2d object encapsulates the r e l a t i o n s h i p \bf{relationship} relationship between the intrinsic coordinates anchored to the rows and columns of a 2-D image and the spatial location of the same row and column locations in a world coordinate system.

最重要的三个词:

  • relationship
  • intrinsic coordinates(内部坐标)
  • world coordinates(世界坐标)

总结来说就是内部坐标与世界坐标之间的关系。造成我第二次懵逼罪魁祸首就是内部坐标和世界坐标。重复看了例程和文档后,简单记录一下对这两个名词的理解。

intrinsic coordinates: 图像的像素坐标,比如一张图像在matlab中是100*90大小,就相当于在y方向上有100个像素点,x方向上有90个像素点。

**world coordinates:**举一个最靠近的例子,把世界坐标想象成matlab中显示图像的那个窗口,然后长度单位是cm, (怎么假设不重要,理解这个想法), 然后把图片放到这个平面上,图片在这个平面上就有一个位置,这个大概就是世界坐标的含义。

2 imref2d 有什么属性?

都以X举例

2.1 ImageSize

简单理解就是一幅图像的大小(指内部坐标中的像素个数)。

2.2 XWorldLimits

世界坐标中X方向的范围, 假设:

XWorldLimits = [2 5]

拿上面定义的平面举例子,即这幅图像在上述平面的X方向上的位置为:2cm ——5cm。

2.3 ImageExtentInWorldX

Image extent in world X, 那就是图像在世界坐标中X轴上的跨度,这个很好理解。

XWorldLimits = [2 5]
ImageExtentInWorldX = 3

2.4 PixelExtentInWorldX

Pixel Extent In World X, 即一个像素在世界坐标的跨度
假设:

% 图像的大小
% Ysize = 100, Xsize = 200
size = [100 200]
% 图像跨度
ImageExtentInWorldX = 3
% PixelExtentInWorldX = ImageExtentInWorldX/size(2)
PixelExtentInWorldX = 0.0150

2.5 XIntrinsicLimits

如果xsize = 100, XIntrinsicLimits = [0.5000 100.5000]
具体我也不知道为什么要这样子定义,但是我们可以从这个变量中获取图像的大小信息.

3 例子

就拿matlab官方的例子来理解一下用法吧

A = imread('pout.tif');
xWorldLimits = [2 5];
yWorldLimits = [3 6];
RA = imref2d(size(A),xWorldLimits,yWorldLimits)
figure
imshow(A,RA);

输出的图片如下, 注意观察坐标信息,就是我们上面提到的世界坐标。但是我觉有一个不恰当的地方, X方向的坐标刻度应该画到上面去,毕竟使用矩阵储存图片,坐标大小是从左上角开始的向下向右增加的。
在这里插入图片描述
我们可以查看RA的属性, 属性之间可以通过对应关系得到。
在这里插入图片描述

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值