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程式碼。

相關內容