我无法以.tif格式保存具有不同名称的多个图像。 这是我目前的代码:
srcFiles = dir('path/*.tif');
for i = 1 : length(srcFiles)
img = strcat('path/',srcFiles(i).name);
img = imread(img);
figure, img = imshow(img(:,:,3));
colormap gray;
a = strcat(srcFiles(i).name, '-run.tif');
imwrite(img, a,'tiff');
end
我收到以下错误:
Error using imwrite (line 420)
Expected DATA to be one of these types:
numeric, logical
Instead its type was matlab.graphics.primitive.Image.
我知道我没有保存图像数组。但是,由于我必须致电colormap gray
,我不知道该怎么做。此外,我使用imwrite
执行此操作,因为这会消除手动保存时保存的白色边框。有什么想法吗?
答案 0 :(得分:0)
在3个后续行中,您正在更改变量img
的类型:
这里是一个char数组:
img = strcat('path/',srcFiles(i).name);
接下来是数字数组(图像):
img = imread(img);
最后它是一个图形句柄:
figure, img = imshow(img(:,:,3));
为了保存此图片,您需要提供{{1>} 数字数组,最佳做法是为这些变量使用不同的名称,例如:
imwrite