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中的图像配准功能don';I don’我不适合做简单的测试_Matlab_Image Processing - Fatal编程技术网

MATLAB中的图像配准功能don';I don’我不适合做简单的测试

MATLAB中的图像配准功能don';I don’我不适合做简单的测试,matlab,image-processing,Matlab,Image Processing,我正试图使用MATLAB来做图像配准,这只是基于翻译,所以我先做了一个简单的测试 首先,我创建了两个简单的二进制图像 您可以看到这两幅图像之间在垂直方向上有20个像素的偏移,然后我尝试了两种功能来进行配准: [optimizer,metric] = imregconfig('Monomodal'); tform = imregtform(img1,img2,'Translation',optimizer,metric); img1reg = imregister(img1,img2,'Tran

我正试图使用MATLAB来做图像配准,这只是基于翻译,所以我先做了一个简单的测试

首先,我创建了两个简单的二进制图像

您可以看到这两幅图像之间在垂直方向上有20个像素的偏移,然后我尝试了两种功能来进行配准:

[optimizer,metric] = imregconfig('Monomodal');
tform = imregtform(img1,img2,'Translation',optimizer,metric);
img1reg = imregister(img1,img2,'Translation',optimizer,metric);
imregtform
imregister
都不起作用
imregtform
给出了一个身份转换矩阵,
imregister
“img1reg”的输出与输入的运动图像“img1”完全相同

我怎样才能解决这个问题

以下是我使用的代码:

img1 = zeros(100, 20);
img1(35:45,:) = 1;
img2 = zeros(100, 20);
img2(55:65,:) = 1;
[optimizer,metric] = imregconfig('Monomodal');
tform = imregtform(img1,img2,'Translation',optimizer,metric);
img1reg = imregister(img1,img2,'Translation',optimizer,metric);

“你需要考虑较小的翻译。在这样一个大的翻译中,固定图像中的对象根本不与运动图像中的对象重叠。因此,在注册成本函数中没有梯度来指导算法。

通常,人们会先进行基于相关性的注册,以捕获如上所述的严重偏差,然后再进行细化。”


请参见有趣的

中的答案。我从未使用过这些函数,但直觉告诉我它们应该可以工作。我尝试了“仿射”,并给出了一些不是身份,而是怪异的东西。