感谢关注matlab爱好者公众号!如果公众号文章对您有帮助,别忘了点击分享和“在看”哦!若您对公众号有什么意见或建议,请在公众号中回复或在任意文章底部留言!
对于搞材料的小伙伴来说,使用SEM、TEM和金相显微镜等检测工具对样品组织形貌进行观察是家常便饭的事。每次写报告做PPT的时候总是有件鸡毛小事烦着我,那就是需要对拍摄的照片加标尺,PS、PPT以及Word都能够实现加标尺,但总是让我觉得不如意,也许是强迫症太严重了。于是就想干嘛不自己写一个自动添加标尺的程序,这样就开始了本程序的编写,也希望这个小程序能够帮助到在科研中忙碌的你。
程序的实现原理很简单,一就是确定标尺的大小,二是确定要显示的图像区域,三是在选定的图像区域中插入标尺线和标尺标注。以下是程序的简单使用教程,欢迎观看.....
程序界面部分源程序:
%%Creat interface
clc;clear;close all;
scr = get(groot,'ScreenSize');
pict=figure('position',[scr(3)/2-200,scr(4)/2-100, 500,250],'name','欢迎扫码关注matlab爱好者公众号','NumberTitle','off','menubar','none','toolbar','none',...
'Resize','off');
text0=uicontrol(pict,'style','text','position',[20 195 320 40],'string','SEM/TEM/金相图片自动加标尺程序','FontSize',15,'ForegroundColor','r');
text1 = uicontrol(pict,'style','text','position',[60 165 130 30],'string','输入标尺长度:','FontSize',13,'ForegroundColor','b');
con1 = uicontrol(pict,'style','edit','position',[185 168 100 30],'string','','FontSize',14,'ForegroundColor','b');
% 单位选择
text2 = uicontrol(pict,'style','text','position',[40 130 100 30],'string','单位选择:','FontSize',14,'ForegroundColor','b');
radiob1 = uicontrol(pict,'style','Radiobutton','position',[150 130 50 30],'string','mm','FontSize',14,'ForegroundColor','b');
set(radiob1,'Callback', 'set(radiob1,"value",1),set(radiob2,"value",0),set(radiob3,"value",0)');
radiob2 = uicontrol(pict,'style','Radiobutton','position',[215 130 50 30],'string','μm','FontSize',14,'ForegroundColor','b');
set(radiob2,'Callback', 'set(radiob1,"value",0),set(radiob2,"value",1),set(radiob3,"value",0)');
radiob3 = uicontrol(pict,'style','Radiobutton','position',[280 130 50 30],'string','nm','FontSize',14,'ForegroundColor','b');
set(radiob3,'Callback', 'set(radiob1,"value",0),set(radiob2,"value",0),set(radiob3,"value",1)');
set(radiob2,"value",1);
% tgbutton = uicontrol(pict,'style','checkbox','position',[70 100 260 30],'string','是否自定义字体 (默认不勾选)','FontSize',12,'ForegroundColor','b');
text3 = uicontrol(pict,'style','text','position',[5 93 85 30],'string','字体选择:','FontSize',12,'ForegroundColor','b');
popup1 = uicontrol(pict,'Position', [80 95 170 30],'Style', 'popup','String',...
{'Times New Roman Bold','Arial Bold','Calibri Bold','Cambria Bold','Candara Bold','Consolas Bold','Courier New Bold'},...
'FontSize',10,'ForegroundColor','b');
text4 = uicontrol(pict,'style','text','position',[253 93 50 30],'string','大小:','FontSize',12,'ForegroundColor','b');
popup2 = uicontrol(pict,'Position', [300 93 50 30],'Style', 'popup','String',...
{'40','41','42','43','44','45','46'},'FontSize',10,'ForegroundColor','b');
text5 = uicontrol(pict,'style','text','position',[40 55 200 30],'string','距右下角的长和宽 (pixel):','FontSize',12,'ForegroundColor','b');
con2 = uicontrol(pict,'style','edit','position',[235 59 100 30],'string','[20,20]','FontSize',14,'ForegroundColor','b');
%% 加载图标
loadIcon();
%% 执行程序
img=uicontrol(pict,'style','pushbutton','position',[50 20 150 30],'string','打开图片','FontSize',15,'ForegroundColor','b','CallBack',...
'openImg(con1,con2,popup1,popup2,radiob1,radiob2,radiob3);');
exiting=uicontrol(pict,'style','pushbutton','position',[210 20 100 30],'string','退出','FontSize',15,'ForegroundColor','r','CallBack','delete(pict);');
视频中所有相关文件以及原版高清视频都已打包整理,需要的小伙伴请在公众号中回复“SEM”、“TEM”、“金相”或者“标尺”即可获取下载链接。如有问题或建议,请在文章底部留言,感谢大家支持!!!