how to show one by one jpg images using slider from the folder
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dear all
Hope you are keeping Good and enjoying well. i have 55 jpg images i displayed them on Axes but all the images frequently passes in front of me. i want to show images one by one using by clicking on slider. how i use slider in this code please? i need to work on every image. any help is appriciated in advance.
Isa
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
myFolder = 'C:\Users\khanm\Desktop\image files';
if ~isdir(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(errorMessage));
return;
end
filePattern = fullfile(myFolder, '*.jpg');
jpegFiles = dir(filePattern);
for k = 1:length(jpegFiles)
baseFileName = jpegFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = imread(fullFileName);
imshow(imageArray); % Display image.
drawnow; % Force display to update immediately.
end
0 comentarios
Respuestas (1)
Image Analyst
el 10 de Sept. de 2013
Here is some code from a listbox click callback. You can do similar just put it in your scrollbar callback:
% Get image name
Selected = get(handles.lstImageList, 'value');
% If more than one is selected, bail out.
if length(Selected) > 1
% Change mouse pointer (cursor) to an arrow.
set(gcf,'Pointer','arrow')
drawnow; % Cursor won't change right away unless you do this.
return;
end
% If only one is selected, display it.
% Get list of ALL the filenames in the listbox.
ListOfImageNames = get(handles.lstImageList, 'string');
% Get the one name they selected.
baseImageFileName = strcat(cell2mat(ListOfImageNames(Selected)));
fullImageFileName = [handles.ImageFolder '/' baseImageFileName]; % Prepend folder.
imshow(fullImageFileName);
My image names were stored in a listbox. If yours aren't then just do whatever you need to do to get the image. For example if the slider value is 13, just get image #13 from your cell array of filenames.
10 comentarios
Image Analyst
el 12 de Sept. de 2013
That's the right concept but the wrong execution. Do it like this, for one slice image:
% Turn the hand drawn coordinates into a logical mask.
mask = poly2mask(pos(:,1), pos(:,2), rows, columns);
% Sum up all the pixels inside the mask to get the area of this slice.
thisSlicesArea = sum(mask(:));
% Now multiply by the separation between slices to get the volume.
thisSlicesVolume = thisSlicesArea * yourSliceSeparation;
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!