Da habe ich mich wohl zu früh gefreut. Ich habe jetzt immer einen Error, wenn ich zum nächsten Image gelangen will.
Hier ist meine Funktion:
Delphi-Quellcode:
function [] = roiselect(filename)
% function [] = roiselect(filename)
%
% This function creates a mask of an image.
% The mask will be saved at the same folder as "filename_msk.ext".
% Also more than one polygon per image are possible.
% Alexander Schuetz
% 02.08.07
I = imread(filename);
% opens the image
BW = zeros(size(I));
% creates a zero matrix
C = 1;
% initial value
while 1
if gra_roiselect == 0, break,end
imshow(I | BW);
% combines the image with the mask
BW = BW | roipoly;
[N,ext] = get_file_name(filename);
N = strcat(N,'_msk',ext);
end
imwrite(BW,N);
% writes the image
Das ist die Funktion, mit dessen Hilfe man die Polygons erstellen kann. Ich erzeuge mit der Funktion "gra_roiselect" noch einen Button, den gedrückt wird, um das nächste Image zu erhalten. Dieser Button liefert den Wert 0, wenn man ihn drückt. Wenn man markiert liefert die Funktion den Wert 1.
Ich kann jetzt mehrere Polygons markieren, aber nur noch auf einem Image.
Vielleicht kann mir jemand mit dem Code helfen?
Gruß!