How do I setup ROI once and it will apply to all other images?

2 次查看(过去 30 天)
The current program I have set each and every image ROI which is very impratical.
How can I only setup once and apply to all other images?
imageFolder = dir('C:\Users\85042513\MATLAB\Projects\BAT CVE\Images\OK\*.jpg');
for i=1:length(imageFolder)
filename = strcat('C:\Users\85042513\MATLAB\Projects\BAT CVE\Images\OK\',imageFolder(i).name);
originalImage = imread(filename);
% REGION OF INTEREST
f = figure('Name','Image','NumberTitle','off');
imshow(originalImage);
rect = getrect(f); % select roi with mouse
ori_roi = originalImage( rect(2) : (rect(2)+rect(4)) , rect(1) : (rect(1)+rect(3)) , : ); % store roi in matrix
end

采纳的回答

Walter Roberson
Walter Roberson 2019-7-17
编辑:Walter Roberson 2019-7-17
imageFolder = dir('C:\Users\85042513\MATLAB\Projects\BAT CVE\Images\OK\*.jpg');
numfiles = length(imageFolder);
ori_roi = cell(numfiles, 1);
i = 1;
filename = strcat('C:\Users\85042513\MATLAB\Projects\BAT CVE\Images\OK\',imageFolder(i).name);
originalImage = imread(filename);
% REGION OF INTEREST
f = figure('Name','Image','NumberTitle','off');
imshow(originalImage);
rect = getrect(f); % select roi with mouse
ori_roi{i} = originalImage( rect(2) : (rect(2)+rect(4)) , rect(1) : (rect(1)+rect(3)) , : ); % store roi in matrix
for i=2:length(imageFolder)
filename = strcat('C:\Users\85042513\MATLAB\Projects\BAT CVE\Images\OK\',imageFolder(i).name);
originalImage = imread(filename);
ori_roi{i} = originalImage( rect(2) : (rect(2)+rect(4)) , rect(1) : (rect(1)+rect(3)) , : ); % store roi in matrix
end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by