欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB遇到问题:绘图窗口显示中文乱码方框的解决方法

程序员文章站 2024-02-06 23:47:10
...

今天,在使用MATLAB绘图功能时发现无法显示中文,显示的全是方框乱码“口口口”,如下:
部分程序:

f=imread(image);%读取图像
f=imresize(f,[363,312]);%将图像调整为363*312
figure(1);imshow(f),title('原始图像');

输出结果:
MATLAB遇到问题:绘图窗口显示中文乱码方框的解决方法
可以看到,中文’原始图像’四个字变成四个方框进行输出了。那么这个问题如何解决呢?

解决方案:

首先说明几点不适用范围:

  1. 我正常在命令行窗口输入注释+中文是不出现方框乱码的,如果你出现,则该方法肯定不适合你,乖乖的去改一下预设里的字体设置吧~
    MATLAB遇到问题:绘图窗口显示中文乱码方框的解决方法

  2. 我在命令行中输入‘feature(‘locale’)’同样不出现中文乱码,如果你出现,则本文同样不适用,建议参考博客:https://www.cnblogs.com/leoking01/p/8269516.html
    MATLAB遇到问题:绘图窗口显示中文乱码方框的解决方法

好了,接下来进入正文:
我试过很多办法,比如改字体啦,windos添加字体啦,等等等等,就是不好用。只有一种办法好用:

方法1:

在绘图命令后加一行命令,直接设置字体格式:
代码:

f=imread(image);%读取图像
f=imresize(f,[363,312]);%将图像调整为363*312
figure(1);imshow(f),title('原始图像'),set(gca,'FontName','Microsoft YaHei');

结果:
MATLAB遇到问题:绘图窗口显示中文乱码方框的解决方法
这时,我确信我的MATLAB版本肯定没问题,肯定能显示出中文,那问题自然就出现在绘图里的默认字体上。
打开该图像的属性编辑器,查看该字体默认为‘Helvetica’,且是无法默认修改的(即改完一次后还需要重新改,并不会默认记住)。
MATLAB遇到问题:绘图窗口显示中文乱码方框的解决方法
这显然不是我这种懒人的目标。
。。。
经过多方查阅资料发现一种方法:

方法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所在的文件夹添加到路径里。
MATLAB遇到问题:绘图窗口显示中文乱码方框的解决方法
我这里setup.m放在MATLAB文件夹下了,因此直接将该.m文件所在的MATLAB文件夹添加到路径,如下:

MATLAB遇到问题:绘图窗口显示中文乱码方框的解决方法
然后,保存,关闭。

第三步:重启MATLAB,运行该行代码
注意:一定要重启,不重启发现并没有用。

运行结果:
MATLAB遇到问题:绘图窗口显示中文乱码方框的解决方法

ok,完美解决~

如果对你有所帮助,点个赞吧~