在matlab中获取没有Extension的文件名

zen*_*nab 9 matlab filenames file

我想在没有MATLAB扩展的情况下获取图像文件名.我试过使用(fileparts)函数:

[pathstr, name, ext, versn] = fileparts(filename); 
Run Code Online (Sandbox Code Playgroud)

在此函数中,(filename)必须具有完整的Path,以便在变量(name)中获取没有扩展名的文件名.

当我只有文件名('D10_11.jpg')时,我得到以下错误:

"Input must be a row vector of characters"
Run Code Online (Sandbox Code Playgroud)

请,如果他们是另一个解决这个问题的功能

Jon*_*nas 14

从您的错误消息,我猜输入可能是一个单元格数组,而不是一个char数组.

因此,而不是

[pathstr,name,ext] = fileparts(filename)
Run Code Online (Sandbox Code Playgroud)

你必须写

[pathstr,name,ext] = fileparts(filename{1})
Run Code Online (Sandbox Code Playgroud)

  • @zenap:我很高兴它有效.请考虑接受您认为有帮助的答案 - 它使答复者感到高兴并使他们更有动力回答未来的问题. (5认同)

gno*_*ice 5

这对我来说效果很好:

>> filename = 'D10_11.jpg';
>> [pathstr,name,ext,versn] = fileparts(filename)

pathstr =

     ''

name =

D10_11

ext =

.jpg

versn =

     ''
Run Code Online (Sandbox Code Playgroud)

您应该检查以确保filename它确实如您所想。该错误表明它不仅仅是像 之类的字符行向量'D10_11.jpg'