www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱源码程序matlab > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I2_06_2_myImregcorr.m
% 弶婜壔 clear; clc, close all, imtool close all; %% Step 1: 夋憸偺撉崬傒\帵 fixed = imread('I2_06_2_stitch1.png'); moving = imread('I2_06_2_stitch2.png'); figure; imshowpair(moving,fixed,'montage') %% Step 2: 埵憡憡娭傪梡偄偨埵抲偢傟偺専弌 % 乮婸搙儀乕僗偺嵟揔壔庤朄傛傝戝偒側偢傟偵嫮偔崅懍乯 % 乮婸搙儀乕僗偺嵟揔壔庤朄偺弶婜抣偵巊梡乯 tform = imregcorr(moving, fixed, 'translation') % 偙偙偱偼暯峴堏摦偺傒傪壖掕 tform.T % 摼傜傟偨曄姺峴楍 %% Step 3: 2偮偺夋憸偺崌惉 Rfixed = imref2d(size(fixed)); [movingReg, Rreg] = imwarp(moving,tform); % 2枃栚偺夋憸傪婔壗妛揑曄姺 panorama = imfuse(movingReg,Rreg,fixed,Rfixed,'blend'); % 崌惉 figure; imshow(panorama); %% Step 4: 婸搙傪巊偭偨嵟揔壔儀乕僗偺埵抲崌偣傾儖僑儕僘儉傪梡偄 % 旝挷惍乮戝偒偔偢傟偨夋憸偵懳偟偰偼嬯庤) % 埵憡憡娭偱媮傔偨曄姺峴楍傪弶婜抣偲偟偰巊梡 [optimizer,metric] = imregconfig('monomodal'); movingGray = rgb2gray(moving); fixedGray = rgb2gray(fixed); tformOptim = imregtform(movingGray,fixedGray,'translation',optimizer,metric,'InitialTransformation',tform); tformOptim.T [movingRegOptim,RregOptim] = imwarp(moving,tformOptim); panoramaOptim = imfuse(movingRegOptim,RregOptim,fixed,Rfixed,'blend'); figure; imshow(panoramaOptim); %% %% Copyright 2015 The MathWorks, Inc.