JanKoWeb: Odborný SW - Matlab: prohlížeč obrázků

Matlab: prohlížeč obrázků

Prohlížeč obrázků funguje tak, že z konzole zavoláte funkci s parametrem adresáře, ve kterém obrázky chcete prohlížet.


function imBrowser(btn,folder)
%% Image browser. Shows positions tags. Navigation - click
%% mouse - left button for previous image, right button for next image.
%
% INPUT:
%  folder ... folder (without end backslash) with files from nanoscope (raw, with tags) to read
% OUTPUT:
%  interactive figure - right mouse click = next image, left mouse click =
%  previous image
%
% Example:
%  imBrowser('', '') - read all image in folder in which script is
%
% Version: 20130742 1526 v1.1
%

global global_file_index;
global global_files;
global global_folder;
global global_file_index_max;
global global_figure;

if nargin == 2
    % init
    % hide warning about fitting image to screen
    warning('off', 'Images:initSize:adjustingMag');
    clc

    disp('Init imBrowser.')
    
    if (folder(end)=='\')
        error(['Did you read help? There is "folder (without end backslash)". Do you understand?'])
    end
    
    % set index
    global_file_index = 1;
    % set files array
    if (~exist(folder))
        error(['Folder ' folder ' does not exists.'])
    end
    global_files = dir([folder '\*.png']);
    % set global folder
    global_folder = folder;
    % set max index
    global_file_index_max = length(global_files);
    if (global_file_index_max==0)
        error(['No images in folder ' folder '.'])
    end
    % figure
    global_figure = figure('Name',['imBrowser: ' global_folder],'NumberTitle','off');
    % if we are at the end
    boundary = 0;
else
    boundary = 0;
    if nargin == 1
        % action after clicking mouse
        if (strcmp(btn,'alt'))
            % right mouse click
            if (global_file_index<global_file_index_max)
                global_file_index = global_file_index + 1;
                boundary = 0;
            else
                boundary = 1;
            end
        end
        if (strcmp(btn,'normal'))
            % left mouse click
            if (global_file_index>2)
                global_file_index = global_file_index - 1;
                boundary = 0;
            else
                boundary = 1;
            end
        end
    end
end

if (boundary==1)
    title('End of files!');
    set(global_figure, 'buttondownfcn', 'imBrowser(get(gcf, ''selectiontype''))');
else
    % show figure
    file = global_files(global_file_index).name;

    global_figure = imshow(imread([global_folder '\' file]));
    % ticks
    P=get(gca,'position');
    Xscale=get(gca,'Xlim');
    Yscale=get(gca,'Ylim');
    global_figure = axes('Position',P,'Xlim',Xscale,'Ylim',Yscale,'color','none');
    % title
    ttl = sprintf('%s',file);
    title(ttl);
    % interactivity
    set(global_figure, 'buttondownfcn', 'imBrowser(get(gcf, ''selectiontype''))');
    axis image;
end
end % of function



Rubrika Odborný SW | Čt 01.08.2013 | 1116x

Související články:

MATLAB: úprava popisku osy x (vydáno Po 13.03.2017, 12:16)
MATLAB: dávková úprava figure (vydáno Po 13.03.2017, 12:12)
MATLAB: divné chování keeplimits u dateaxis (vydáno Po 20.02.2017, 11:52)
MATLAB: otevření složky z MATLABu (vydáno Ne 05.07.2015, 10:23)
MATLAB: error attempt to add "" to a static workspace (vydáno Pá 03.07.2015, 10:23)
MATLAB: spuštění m-file na Linuxu přímo v MATLABu (vydáno So 27.06.2015, 10:23)
MATLAB help generator - File Exchange - MATLAB Central (vydáno Čt 11.06.2015, 10:23)
Matlab: zjištění závislostí a toolboxů dané funkce (vydáno Ne 26.10.2014, 16:13)
Matlab java.lang.OutOfMemoryError  (vydáno So 14.06.2014, 11:31)
Matlab: na Linuxu nejde změnit velikost fontu (vydáno Pá 27.12.2013, 18:55)
Matlab: generátor nápovědy pro funkce (vydáno Čt 31.10.2013, 16:51)
Matlab: tipy a triky pro práci se strukturami (vydáno Út 13.08.2013, 13:53)
Matlab: práce s error, warning a try catch (vydáno Po 05.08.2013, 13:48)
Matlab: prohlížeč obrázků (vydáno Čt 01.08.2013, 22:23) - právě čtete
Matlab: skrytí warning (vydáno Čt 18.07.2013, 14:59)
MATLAB: vícenásobná substituce proměnné v matici (vydáno Út 12.03.2013, 12:46)
Matlab a LaTeX: rychlý export matice do LaTeXu (vydáno St 24.10.2012, 10:12)
Matlab: praktické tipy pro práci s figurami (grafy) (vydáno St 14.12.2011, 10:30)
Matlab: praktické rady pro ladění kódu aneb Debug mode (vydáno Ne 11.12.2011, 19:24)
Matlab: zkratky pro často se opakující příkazy přímo v toolbaru (vydáno Ne 20.11.2011, 18:32)
Matlab: převod výrazu do formátu LaTeXu (vydáno Út 17.05.2011, 23:12)
Matlab: Vigenerova šifra (vydáno Pá 15.04.2011, 10:44)
Matlab: instalace na Linuxu UBUNTU (vydáno Pá 25.02.2011, 18:03)
Matlab: úpravy výrazů (vydáno St 23.02.2011, 18:03)
Matlab: export grafu do pdf (vydáno So 05.02.2011, 23:58)
Matlab: TODO, FIXME a cell mode (vydáno Pá 10.12.2010, 17:36)
Matlab: defaultní nastavení grafu (vydáno Út 16.11.2010, 12:31)
Matlab: přehled exportů grafického výstupu (vydáno Pá 09.07.2010, 16:37)
Matlab - funkce pro textový výstup (vydáno So 13.03.2010, 19:39)
Matlab - práce s řetězci (vydáno Čt 22.10.2009, 17:03)

Náhodné články

Tento web jsem zakládal na střední, v roce 2008. Je zde hlavně archiv mé tvorby.

Aktuální věci publikuji kvůli úspoře času na Twitter.

Honza

"To, co druzí dělají, může být podnětem našich pocitů, nikoli však jejich příčinou."

M. Rosenberg