我想获取没有MATLAB中的扩展名的图像文件名。 我试过使用(fileparts)函数:
[pathstr, name, ext, versn] = fileparts(filename);
在此函数中,(filename)必须带有完整的Path才能获得变量(name)中没有扩展名的文件名。
当我只有文件名('D10_11.jpg')时,我收到以下错误:
"Input must be a row vector of characters"
请,如果他们是另一个解决这个问题的功能
答案 0 :(得分:14)
从您的错误消息中,我猜输入可能是一个单元格数组,而不是一个char数组。
因此,而不是
[pathstr,name,ext] = fileparts(filename)
你必须写
[pathstr,name,ext] = fileparts(filename{1})
答案 1 :(得分:2)
这对我来说很好用:
>> filename = 'D10_11.jpg';
>> [pathstr,name,ext,versn] = fileparts(filename)
pathstr =
''
name =
D10_11
ext =
.jpg
versn =
''
您应该检查以确保filename
实际上是您认为的。该错误表明它不仅仅是'D10_11.jpg'
等字符的行向量。
答案 2 :(得分:-1)
抱歉超级迟到的回答:(,但我遇到了同样的问题。 当我在寻找答案时,我得到了别人问的相同问题。 您编写的查询没有问题,只有我在这里看到的问题是您缺少文件名位置的格式。
filename = 'C:\Users\Public\myfile.csv';
[pathstr,name,ext] = fileparts(filename);
输出
pathstr =
C:\Users\Public
name =
myfile
ext =
.csv