tags:

views:

121

answers:

1
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

EDITED: On the above file, the first column represent the image code which displayed on screen, and the x and y represent the point where people look on the image. There were 3 different images displayed to the user. The problem with the code below is that I don't know how to save the image with the plotted xy on with the same name of file as it opened.

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

EDITED:

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

alt text

However, I have a little problem. The "cross plots" which I overlay on the image, were surrounded by gray shadow (like when we photocopy a paper, they will be a gray color on it). How this happened?