在matlab中获取没有扩展名的文件名
问题描述:
我想在没有MATLAB扩展的情况下获取图像文件名。 我曾尝试使用(fileparts)功能:在matlab中获取没有扩展名的文件名
[pathstr, name, ext, versn] = fileparts(filename);
在此功能的(文件名)必须与完整路径,以获取文件名不带扩展名的变量(名称)。
当我有一样(“D10_11.jpg”)的文件名,我收到以下错误:
"Input must be a row vector of characters"
请,如果他们是为了解决这个问题
答
该作品的另一个功能对我罚款:
>> filename = 'D10_11.jpg';
>> [pathstr,name,ext,versn] = fileparts(filename)
pathstr =
''
name =
D10_11
ext =
.jpg
versn =
''
你应该检查,以确保filename
实际上是你认为它是。该错误表明它不仅仅是像'D10_11.jpg'
这样的字符的行向量。
答
从你的错误信息,我猜输入可能是一个单元格数组,而不是一个字符数组。
这样,不是
[pathstr,name,ext] = fileparts(filename)
你必须写
[pathstr,name,ext] = fileparts(filename{1})
答
对不起,答案超级晚:(,但我面临同样的问题。 当我搜索对于答案,我得到了别人问过的同样的问题。 你写的查询没有问题,只有我在这里看到的问题是你缺少文件名位置的格式。
filename = 'C:\Users\Public\myfile.csv';
[pathstr,name,ext] = fileparts(filename);
输出是
pathstr =
C:\Users\Public
name =
myfile
ext =
.csv
你的做法是错误的。真正的问题是为什么你得到这个错误,为什么变量文件名是一个单元格数组。如果你明天不明白,你将会遇到另一个非常类似的问题。如果你明白单元阵列是什么,那么问题本身就是微不足道的。 – Mikhail 2010-12-03 22:45:08
@all:你为什么要提出这样的问题(请参阅我上面的评论)? – Mikhail 2010-12-03 22:46:26
@Mikhail:显然,SP不知道*单元阵列*,同时面对* fileparts *函数的问题。这个问题对他来说不是微不足道的。给他一个机会来提高他对MATLAB的理解。 – zellus 2010-12-04 02:25:15