MATLAB - Как нанести x, y на изображение и сохранить?

Файл 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

В приведенном выше файле первый столбец представляет код изображения, отображаемый на экране, а столбцы x и y представляют точку, где люди смотрят на изображение. Для пользователя было отображено три разных изображения. Проблема с кодом ниже состоит в том, что я не знаю, как сохранить изображение с нанесенным x-y с тем же именем файла, что и при открытии.

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

Однако у меня есть небольшая проблема. «Крестные графики», которые я накладываю на изображение, были окружены серой тенью (например, когда мы фотокопируем бумагу, на ней будет серый цвет). Как это случилось?

Ответы на вопрос(1)

Ваш ответ на вопрос