Сравнение изображений с MATLAB - PullRequest
0 голосов
/ 27 мая 2010

Я хочу сравнить два изображения, используя MATLAB и отобразить сообщение «Это одно и то же изображение». или «Извините, это не то же самое изображение». Моя программа всегда отображает «Это одно и то же изображение».

Мой код:

i1 = imread('001_1_1.fig');
i2 = imread('001_1_1.fig');
x1 = edge(i1,'canny');
j1 = imcrop(x1,[135 90 100 95]);
x2 = edge(i2,'canny');
g = 0;
xxx = 1;
yyy = 1;

for n = 1:1:2
    g1 = imrotate(j1,n,'bilinear','crop');
    r1 = corr2(j1,g1);
    if(xxx<r1)
    else
        xxx = r1;
    end;
end;

for n = 180:-1:178
    g1 = imrotate(j1,n,'bilinear','crop');
    r1 = corr2(j1,g1);
    if(yyy<r1)
    else
        yyy = r1;
    end;
end;

if(xxx <= yyy)
    r_corr = xxx;
else
    r_corr = yyy;
end;

j2 = imcrop(x2,[135 90 100 95]);
r = corr2(j1,j2);
if (r==1)
    disp('it is the same image')
    return;
elseif (r >= r_corr)
    disp('it is the same image')
    return;
else
    g = 1;
end;

if(g==1)
    disp('sorry, it is not the same image')
end;

Ответы [ 2 ]

4 голосов
/ 27 мая 2010

Вы загружаете два изображения, i1 и i2, используя следующую команду

i1=imread('001_1_1.fig');
i2=imread('001_1_1.fig');

Эти изображения одинаковы. Поэтому код скажет вам, что два изображения одинаковы.

1 голос
/ 15 января 2014

х = imread ( 'first.jpg');

у = imread ( 'seconda.jpg');

с = IsEqual (х, у);

`` if c == 1

printf («Да, равно»); иначе printf ('Not');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...