我有以下imwrite
声明:
imwrite(img, strcat(thisdir,'_',num2str(j),'_LABEL_',categoryClassifier.Labels(labelIdx),'.jpg'));
其中categoryClassifier.Labels(labelIdx)
返回string
,而thisdir
也是string
返回目录名称。但是,我收到以下错误:
Error using imwrite>parse_inputs (line 510)
A filename must be supplied.
Error in imwrite (line 418)
[data, map, filename, format, paramPairs] = parse_inputs(varargin{:});
strcat
的部分是否被视为文件名?
感谢。
答案 0 :(得分:1)
这有点像黑暗中的镜头,但我怀疑你想要categoryClassifier.Labels{labelIdx}
而不是categoryClassifier.Labels(labelIdx)
(区别在于大括号)。
假设categoryClassifier.Labels
是字符串的单元格数组,花括号为您提供该单元格的内容(这是您想要的),而括号为您提供1x1单元格数组(看起来很像MATLAB命令窗口中的一个字符串)。另请注意,strcat
非常乐意处理字符串的单元格数组,所以它不会抱怨,但imwrite
会因为它的参数都不是字符串而烦恼。