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

14 次查看(过去 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 个)

Community Treasure Hunt

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

Start Hunting!

Translated by