MATLAB简单实现图片的标注,手工完成ground truth的注释标注

因为对MATLAB语法不太熟悉,所以只是简单实现了三次ginput的取坐标点,以后熟练了再改进


%对图片上某个点进行标注
clear all
close all
clc
set(gcf,'color','white')
src='';
for i=1:200
    num = i
    str = '.jpg' ;
    Mstr='.mat';
    filestr='D:/Program/';     %要标注图片的位置
    refilestr='D:/Program/';   %标注后存储的位置最好不一致
    left_par='air (';
    Mark='mark';
    right_par=')';
    STR = sprintf('%s%s%d%s%s', filestr,left_par,num ,right_par, str) ;  % 读取图片
    RSTR=sprintf('%s%s%d%s%s', refilestr,left_par,num ,right_par, str) ;
    MSTR=sprintf('%s%s%d%s%s', refilestr,left_par,num ,right_par, Mstr) ;
    MarkSTR=sprintf('%s%s%d%s%s', refilestr,Mark,num , Mstr) ;
    pic_source=imread(STR); 
    A=imresize(pic_source,0.2);
    imwrite(A,RSTR);
    B=imshow(A);
    
    %set(B,  'X', [0 1000], 'Y', [0 1000])


    [x,y] = ginput;
    C=[x,y];
    hold on
    plot(x,y,'r+');


    [m,n] = ginput;
    D=[m,n];
    hold on
    plot(m , n ,'r+');


    [a,b] = ginput;
    E=[a,b];
    hold on
    plot(a,b,'r+');
    F=[C;D;E];
    save(MSTR,'F');   
end



你可能感兴趣的:(MATLAB)