MATLAB遇到问题:绘图窗⼝显⽰中⽂乱码⽅框的解决⽅法
今天,在使⽤MATLAB绘图功能时发现⽆法显⽰中⽂,显⽰的全是⽅框乱码“⼝⼝⼝”,如下:
部分程序:
f=imread(image);%读取图像
f=imresize(f,[363,312]);%将图像调整为363*312
figure(1);imshow(f),title('原始图像');
输出结果:
可以看到,中⽂’原始图像’四个字变成四个⽅框进⾏输出了。那么这个问题如何解决呢?
解决⽅案:
⾸先说明⼏点不适⽤范围:
1. 我正常在命令⾏窗⼝输⼊注释+中⽂是不出现⽅框乱码的,如果你出现,则该⽅法肯定不适合你,乖乖的去改⼀下预设⾥的字体设置吧
~
2. 我在命令⾏中输⼊‘feature(‘locale’)’同样不出现中⽂乱码,如果你出现,则本⽂同样不适⽤,建议参考博客:
好了,接下来进⼊正⽂:
fontweight属性bold我试过很多办法,⽐如改字体啦,windos添加字体啦,等等等等,就是不好⽤。只有⼀种办法好⽤:
⽅法1:
在绘图命令后加⼀⾏命令,直接设置字体格式:
代码:
f=imread(image);%读取图像
f=imresize(f,[363,312]);%将图像调整为363*312
figure(1);imshow(f),title('原始图像'),set(gca,'FontName','Microsoft YaHei');
结果:
这时,我确信我的MATLAB版本肯定没问题,肯定能显⽰出中⽂,那问题⾃然就出现在绘图⾥的默认字体上。
打开该图像的属性编辑器,查看该字体默认为‘Helvetica’,且是⽆法默认修改的(即改完⼀次后还需要重新改,并不会默认记住)。
这显然不是我这种懒⼈的⽬标。
。。。
经过多⽅查阅资料发现⼀种⽅法:
⽅法2:
第⼀步:新建⼀个startup.m⽂件, 并保存。
function startup
%% Text Size
%set(0,'DefaultAxesFontsize',25);
%set(0,'DefaultTextFontsize',25);
%set(0,'DefaultAxesFontWeight','bold');
%set(0,'DefaultTextFontWeight','bold');
%%% Text Fonts
%%set(0,'DefaultTextFontname','Arial')
%%set(0,'DefaultAxesFontname','Arial')
set(0,'DefaultTextFontname','宋体')
set(0,'DefaultAxesFontname','宋体')
end
【注】:将字体⼤⼩及字体类型调整成⾃⼰喜欢的就好,我这⾥只修改了字体类型为宋体。
第⼆步:将该setup.m所在的⽂件夹添加到路径⾥。
我这⾥setup.m放在MATLAB⽂件夹下了,因此直接将该.m⽂件所在的MATLAB⽂件夹添加到路径,如下:
然后,保存,关闭。
第三步:重启MATLAB,运⾏该⾏代码
注意:⼀定要重启,不重启发现并没有⽤。
运⾏结果:
ok,完美解决~
如果对你有所帮助,点个赞吧~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论