【问题标题】:I'm trying to save an image with a scale reference bar in matlab我正在尝试在 matlab 中保存带有比例参考栏的图像
【发布时间】:2013-08-29 18:48:04
【问题描述】:

我正在 matlab 中处理一批 50 到 800 张图像。 程序读取一些 .tif 图像,然后在进行一些更改后,使用 imwrite 输出一个 .tif 图像。

问题是我希望输出图像对我正在使用的比例有一些参考。 类似于 n 像素的条形,表示以 mm 为单位的等效值(就像通常用于显微测量的那些),或者以 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);

【问题讨论】:

    标签: image matlab scale figure presentation


    【解决方案1】:

    您可以使用linetext 绘制自己的比例尺或尝试this 文件交换选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 2022-01-17
      • 2017-07-11
      • 1970-01-01
      相关资源
      最近更新 更多