MATLAB - Wie zeichne ich x, y auf ein Bild und speichere es?

File datafile.txt
code  x     y
23    22.1  33.11
23    110   22
23    11    200 
24    111   321
24    222   111
24    10    22.1
10    88.3  99.3
10    110   32
10    121   143
10    190   200

In der obigen Datei steht die erste Spalte für den auf dem Bildschirm angezeigten Bildcode und die Spalten x und y für den Punkt, an dem Personen auf das Bild schauen. Dem Benutzer wurden drei verschiedene Bilder angezeigt. Das Problem mit dem folgenden Code ist, dass ich nicht weiß, wie ich das Bild mit dem eingezeichneten x-y unter dem gleichen Dateinamen speichern soll, unter dem es geöffnet wurde.

fid = fopen(datafile.txt);
A = textscan(fid,'%f%f%f'); %Read data from the file
code = A{1};
xfix = A{2};
yfix = A{3};

for k=1:length(code)
    imagefile=code(k)        
    I = imread([num2str(imagefile) '.jpg']);    %# Load a sample image
    imshow(I);                                  %# Display it
    [r,c,d] = size(I)                           %# Get the image size
    set(gca,'Units','normalized','Position',[0 0 1 1]);  %# Modify axes size
    set(gcf,'Units','pixels','Position',[200 200 c r]);  %# Modify figure size
    hold on;
    x = xfix2(k);
    y = yfix2(k);
    plot(x,y,'+ b');
    f = getframe(gcf);              %# Capture the current window
    imwrite(f.cdata,([num2str(imagefile) '.jpg']));  %# Save the frame data
    hold off
end

Jedoch habe ich ein kleines problem. Die "Kreuzdiagramme", die ich über das Bild lege, waren von grauem Schatten umgeben (wie beim Fotokopieren eines Papiers werden sie eine graue Farbe haben). Wie ist es passiert

Antworten auf die Frage(2)

Ihre Antwort auf die Frage