【MATLAB/Simulink】虎の巻
MATLAB/Simulinkを使っていて困ったことおよび解決したことを記載。
使用環境
使用機能
エラー
原因
SimulinkのMATLAB Functionでimreadにてpngファイル(jpegファイル以外)を読み込もうとするとエラーになる。
MATLABのヘルプセンターのサイトにて、C/C++ コード生成の注意点として下記記載あり。
よって、Simulinkでpngファイル対応していないためと思われる。
MATLABのヘルプセンターのサイトにて、C/C++ コード生成の注意点として下記記載あり。
よって、Simulinkでpngファイル対応していないためと思われる。
MATLABのヘルプセンターのサイトより抜粋
https://jp.mathworks.com/help/matlab/ref/imread.html
8 ビットの JPEG イメージの読み取りのみをサポートします。入力引数 filename は有効な絶対パスまたは相対パスでなければ なりません。
8 ビットの JPEG イメージの読み取りのみをサポートします。入力引数 filename は有効な絶対パスまたは相対パスでなければ なりません。
使用環境
使用機能
MATLAB Function
エラー
コード生成では string 配列がサポートされていません。文字ベクトルの cell 配列を使用してください。
原因
対処方法
convertStringsToChars型で、char型に変換する。
例. 下記MATLAB Functionのように、strImgInPath、strImgInNameがstring型である場合
function imgIn = ReadImg(strImgInName,strImgInPath)
imgIn = imread([strImgInPath '\' strImgInName]);
↓function imgIn = ReadImg(strImgInName,strImgInPath)
imgIn = imread([convertStringsToChars(strImgInPath) '\' convertStringsToChars(strImgInName)]);