По какой причине я получаю черные области на границах зарегистрированного изображения при регистрации этих двух изображений в MATLAB? - PullRequest
0 голосов
/ 05 февраля 2019

Я зарегистрировал два прикрепленных изображения вместе, используя аффинное преобразование.Я вручную выбрал три соответствующие точки как на исходном изображении (5 dapi), так и на изображении, которое я хочу зарегистрировать (6 dapi) в исходном.Я использовал этот код: но правая сторона и нижняя сторона зарегистрированного изображения все черные.Знаете ли вы, почему это происходит и как мне это исправить?Спасибо. введите описание изображения здесь

original = imread('80 rf 3241 5 dapi.jpg');
distorted=imread('80 rf 3241 6 dapi.jpg');
movingPoints = [166 644;98 1062;1030 596]; % dapi 6
fixedPoints = [136 572;68 994;1000 520];  % dapi_5

tform = fitgeotrans(movingPoints,fixedPoints,'affine');
tformInv = invert(tform);
Tinv = tformInv.T;
ss = Tinv(2,1);
sc = Tinv(1,1);
scale_recovered = sqrt(ss*ss + sc*sc)
theta_recovered = atan2(ss,sc)*180/pi
Roriginal = imref2d(size(original));

recovered = imwarp(distorted,tform,'OutputView',Roriginal);
RI = imref2d(size(original));
RI.XWorldLimits = [0 3];
RI.YWorldLimits = [2 4];
figure
imshow(recovered,[]) % the registered image
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...