JanKoWeb: Odborný SW - Matlab: prohlížeč obrázků
jankoweb.wz.cz
Den filosofie, televize a světový den pozdravů.


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 | 1120x

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

"Náš blahobyt nespočívá v tom, co máme, ale v tom, co nás těší."

J. Petit-Senn