切成小块形象——如何命名产生的块根据网格模式吗?

1视图(30天)
你好所有的,
总Matlab新手。由于这些论坛,我设法更大的图像分割成网格规模小得多的图像。我也设法将这些小图片保存为png图像。然而,我想保存这些图像文件名与网格中的位置有关。(左上角块将A_001,阻止其权利将B_001,下面的一个B_002,等等)。然而,我不知道如何做到这一点。下面我将展示相关的代码。
plotIndex = 1;
numPlotsR =大小(ca, 1);
numPlotsC =大小(ca, 2);
r = 1: numPlotsR
c = 1: numPlotsC
流(' plotindex = % d c = % d, r = % d \ n 'plotIndex c r);
%为显示图像的指定位置。
次要情节(numPlotsR numPlotsC plotIndex);
%提取数值数组的单元
%用于教程。
rgbBlock = ca {r、c};
imshow (rgbBlock);%可以叫imshow (ca {r、c})如果你想。
[rowsB columnsB numberOfColorBandsB] =大小(rgbBlock);
drawnow;
%增加次要情节到下一个位置。
plotIndex = plotIndex + 1;
结束
结束
%在左上角显示原始图像。
次要情节(4,6,1);
imshow (rgbImage);
标题(原始图像的);
K = 1:元素个数(ca)
文件名= sprintf (“% d.png”、K);
imwrite (ca {K},文件名);
结束
第一,更大一部分的代码显示了如何定义% d。第一块,% d是1,第二,% d是2等。最后最后几行说明% d后我们每个照片文件名。然而,这是我。我已经尝试改变底线,但我尝试导致了一个错误。有办法名字图像网格中的时尚通过使用% d ?我需要一个不同的系统?
谢谢你!

接受的答案

图像分析
图像分析 2021年6月8日
编辑:图像分析 2021年6月8日
大卫:
试试这个:
numPlotsR = 3;
numPlotsC = 37;%或大小(ca, 2);
文件夹= pwd;%或任何你想要的。
r = 1: numPlotsR
c = 1: numPlotsC
坳= ExcelCol (c);
baseFileName = sprintf (“% s_ % 03 d.png”{1}上校,r);
fullFileName = fullfile(文件夹,baseFileName);
流(“写作% s。\ n”,fullFileName);
% imwrite (ca {r、c}, fullFileName);
结束
结束
看起来像
写作C:\Users\David\Matlab\work\Tests\ AI_003.png……
写作C:\Users\David\work\Tests\ AJ_003.png……
写作C:\Users\David\work\Tests\ AK_003.png……
等等。
ExcelCol.mis attached and converts numbers to the Excel column letter codes like you asked for.
6个评论

登录置评。

答案(1)

杰夫•海斯
杰夫•海斯 2021年6月8日
大卫- ca 似乎代表单元阵列的街区。你(已经)编写的代码块
K = 1:元素个数(ca)
文件名= sprintf (“% d.png”、K);
imwrite (ca {K},文件名);
结束
可以修改(我认为你想要的东西)吗
r = 1: numPlotsR
c = 1: numPlotsC
文件名= sprintf (“% c_ % 03 d.png”char (c + 64), r)
imwrite (ca {r、c},文件名);
结束
结束
在上面,我们将整型列(64)所抵消65,66,67,……ASCII相当于“A”、“B”、“C”,……
4评论
大卫·布可夫斯基
大卫·布可夫斯基 2021年6月9日
谢谢杰夫。如果我想让它AA,将行代码是:
文件名= sprintf (“% c_ % 03 d。png”字符(c + 64)字符(c + 64), r) ?

登录置评。

类别

找到更多的在调试和分析帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!