Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB中的图像翻译_Matlab_Image Processing - Fatal编程技术网

MATLAB中的图像翻译

MATLAB中的图像翻译,matlab,image-processing,Matlab,Image Processing,在(R2010a)中注册了两个图像(Image1和Image2)之后,我似乎无法找到正确的翻译方法。该算法已经过测试,并与其他程序配合使用。下面是一些相关的片段 TForm = maketform('affine', Transform); info = imfinfo('Image1.bmp'); Reg = imtransform(Image1, TForm,... 'XData', [1 (size(Image1,2)+Transform(3,1))],...

在(R2010a)中注册了两个图像(Image1和Image2)之后,我似乎无法找到正确的翻译方法。该算法已经过测试,并与其他程序配合使用。下面是一些相关的片段

TForm = maketform('affine', Transform);

info = imfinfo('Image1.bmp');

Reg = imtransform(Image1, TForm,...
           'XData', [1 (size(Image1,2)+Transform(3,1))],...
           'YData', [1 (size(Image1,1)+Transform(3,2))],...
           'FillValues', 255);

figure('Name', 'Reg'),...
imshow(Reg, 'InitialMagnification', 250);

imwrite(Reg, 'Reg.bmp', 'bmp');

hold on

H = imshow(Image2, gray(256));
set(H, 'AlphaData', 0.6)
当我将Image1注册到Image1时不会发生这种情况,只有当我尝试将Image1注册到Image2时才会发生这种情况(或者反过来)。我用C语言编写了同样的代码,看起来很好用。我相信这与我的
imtransform
功能有关

好吧,我相信这与转换的应用方式有关。我用Image1直接注册到Image1(绕轴旋转15度),但没有进行正确的转换。转换输出为:

Transform =

0.9676   -0.2557         0
0.2596    0.9694         0
32.7217  -25.5110    1.0000
如果我把它输入到一个图像注册程序中,它就可以正常工作了。这是我刚才做的一个示例图像

A=原始图像,B=旋转的原始图像,C=转换的原始图像


同样,转换是正确的(使用FMRIB的调情注册软件进行测试)。将MATLAB应用于图像时,它一定做了一些不同的事情。

旋转矩阵的符号反转。

旋转矩阵的符号反转。

我认为您需要更精确地说明问题所在。翻译有什么问题?也许你可以举一些例子。目前我真的不明白问题是什么,这使得我很难帮助你。这可能是一个愚蠢的问题,但我如何上传图片到一个线程?我似乎无法理解这一点。编辑问题时,只需按文本框上方的图像图标,或按“ctrl+G”。啊,我明白了,我的旋转矩阵的符号颠倒了。这是一个多么愚蠢的问题,但是非常感谢你的投入和时间,我很感激。呵呵,愚蠢的错误往往是最难发现的。我认为你需要更精确地说明你的问题是什么。翻译有什么问题?也许你可以举一些例子。目前我真的不明白问题是什么,这使得我很难帮助你。这可能是一个愚蠢的问题,但我如何上传图片到一个线程?我似乎无法理解这一点。编辑问题时,只需按文本框上方的图像图标,或按“ctrl+G”。啊,我明白了,我的旋转矩阵的符号颠倒了。这是一个多么愚蠢的问题,但是非常感谢你的投入和时间,我很感激。呵呵,愚蠢的错误往往是最难发现的。