创建一个函数,使用转换

时间:2017-01-10 14:53:03

标签: image matlab math image-processing

我在Matlab上使用imwarp函数来转换关于转换的图像。 您可以在下面的图片中看到结果: enter image description here

我的目标是创建一个函数,其中在输入中我给出左图片的坐标(以像素为单位),它在输出中返回相同点的坐标,但在右图中...

有人知道imwarp函数是否逐个计算相应的坐标...我不知道它是如何工作的!

1 个答案:

答案 0 :(得分:2)

您应该使用传递给imwarp的{​​{3}}将任何像素坐标转换为新的转化位置

image = imread('cameraman.tif');

% Create a transformation object
tform = affine2d([1 0 0; .5 1 0; 0 0 1]);

% Warp the image using this transformation
[transformed_image, RB] = imwarp(image, tform);

% Transform pixel coordinates to new coordinates using tform
[xw, yw] = tform.transformPointsForward(100, 100);

% Display the points and transformed points
subplot(1,2,1);
imshow(image, []);
hold on
plot(100, 100, 'r*')

subplot(1,2,2)
imshow(transformed_image, []);
hold on
plot(xw, yw, 'r*');

transformation object