Файл 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 представляют точку, в которой люди смотрят на изображение.,Для пользователя было отображено три разных изображения.Проблема с кодом ниже состоит в том, что я не знаю, как сохранить изображение с нанесенным xy с тем же именем файла, с которым он был открыт.
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
![Enter image description here](https://i.stack.imgur.com/EyKOO.jpg)
Однако у меня есть небольшая проблема.«Крестные графики», которые я накладываю на изображение, были окружены серой тенью (например, когда мы фотокопируем бумагу, на ней будет серый цвет).Как это случилось?