MATLAB imread() 命令中的错误

MATLAB imread() 命令中的错误

每当我尝试imread('example.jpg')在 MATLAB 2014b 中执行时,都会出现异常:

Caught "std::exception" Exception message is:
locale::facet::_S_create_c_locale name not valid

启动 Matlab 时我也遇到了这个问题。它安装在我通过 SSH 连接的远程桌面上

我尝试过多次更改语言环境文件,但都没有成功。我当前的语言环境/etc/defaults/locale文件如下

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME=en_DK.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=fi_FI.UTF-8
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=C

但是当我运行 locale 命令时我得到了

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

这种不匹配会导致问题吗?如何消除该异常?

答案1

我可以通过简单地添加来解决它

setenv('LC_ALL','C')

到 Matlab 代码。

相关内容