gusucode.com > vision工具箱matlab源码程序 > vision/+vision/+internal/+calibration/+tool/RejectedImagesDlg.m
% RejectedImagesDlg Dialog for displaying rejected calibration images. % Copyright 2014 The MathWorks, Inc. classdef RejectedImagesDlg < vision.internal.uitools.OkDlg properties(Access=private) RejectedFileNames = {}; end methods function this = RejectedImagesDlg(groupName, fileNames) dlgTitle = vision.getMessage('vision:caltool:RejectedImagesDialogTitle'); this = this@vision.internal.uitools.OkDlg(groupName, dlgTitle); this.RejectedFileNames = fileNames; this.DlgSize = [800, 600]; createDialog(this); addImageDisplay(this); end end methods(Access=private) function addImageDisplay(this) % turn off the warning that mentions resizing s = warning('query','images:initSize:adjustingMag'); warning('off','images:initSize:adjustingMag'); ax = axes('parent', this.Dlg); showRejectedImages(this, ax); % restore the warning state warning(s.state,'images:initSize:adjustingMag'); end %------------------------------------------------------------------ function showRejectedImages(this, ax) if size(this.RejectedFileNames, 1) == 1 montage(this.RejectedFileNames, 'Parent', ax); else numPairs = size(this.RejectedFileNames, 2); I1 = imread(this.RejectedFileNames{1, 1}); I2 = imread(this.RejectedFileNames{2, 1}); composite = imfuse(I1, I2, 'montage'); sizeOfImages = [size(composite, 1), size(composite, 2), ... size(composite, 3), numPairs]; images = zeros(sizeOfImages, 'like', composite); images(:,:,:,1) = composite; for i = 2:numPairs I1 = imread(this.RejectedFileNames{1, i}); I2 = imread(this.RejectedFileNames{2, i}); composite = imfuse(I1, I2, 'montage'); images(:,:,:,i) = composite; end montage(images, 'Parent', ax); end end end end