Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
Shu Yi Ho
Shu Yi Ho le 17 Juil 2019
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

Réponse acceptée

Walter Roberson
Walter Roberson le 17 Juil 2019
Modifié(e) : Walter Roberson le 17 Juil 2019
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

Plus de réponses (0)

Catégories

En savoir plus sur Geometric Transformation and Image Registration dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by