2013-08-29 31 views
0

我正在matlab中處理一批50至800幅圖像。 程序讀取一些.tif圖像,然後在進行一些更改後,使用imwrite輸出.tif圖像。我試圖用matlab中的比例參考條保存圖像

問題是,我希望輸出圖像有我使用的規模的一些refence。 就像是一個n像素的條,它表示mm中的等效值(如通常用於顯微鏡測量的thos),或者顯示以mm爲單位的尺寸的幾個軸會更好。

我已經知道1個像素的等效值,但我不知道如何在每個圖像中顯示(請記住有很多圖像,所以它必須是自動的)。

謝謝。

這裏是我現在使用的代碼:

dird=['G:\Alexis\interf camara rapida\Project_2013.08.07_2\W_80_cilindro_4mm\00-50-C2-1D-7E-AB_AutoSave_003_001\00-50-C2-1D-7E-AB_AutoSave_003_001_FR0']; 

dirfondo = [dird,'.tif']; % La imagen de fondo debe estar en el mismo lugar que las imagenes a restarselo 

fondo = imread(dirfondo); 

zonainter=imshow(fondo); 

zona=round(ginput(2)); 


xmin=zona(1,1); 

ymin=zona(1,2); 
xmax=zona(2,1); 
ymax=zona(2,2); 



j=0; 

for i =1:1:200; 

mil=floor(i/1000); 
cien=floor((i-mil*1000)/100); 
diez=floor((i-mil*1000-cien*100)/10); 
uno=(i-mil*1000-cien*100-diez*10); 
numero=[num2str(cien),num2str(diez),num2str(uno)]; 

i; % sin el punto y coma voy viendo por que número va. 

j = j + 1 ; 

oldfileimage = [dird,numero,'.tif']; 

%  numerosalida = [num2str(i)]; 

newfileimage = ['im',numero,'.tif']; 

inter = imread(oldfileimage); %Imagen cruda 

rango = 255; %// choose the new maximum. (new minimum always at 0.0). 



imgMin = double(min(min(inter(xmin:xmax,ymin:ymax)))); 
imgMax = double(max(max(inter(xmin:xmax,ymin:ymax)))); 
inter = ((inter - imgMin)*(rango/(imgMax - imgMin))); 


imwrite(inter',newfileimage,'tif'); 
end; 
imshow(inter); 

回答

0

您可以使用linetext自己繪製比例尺或嘗試this文件交換選項。