matlab如何批量提取图像灰度值

我知道用imread语句可以提取一张图片的灰度值,但是我现在有上百张图片,一一提取灰度值非常麻烦而且低效,所以想请教一下有没有办法可以批量提取多张图片的灰度矩阵,急求各位大虾打救,谢谢

你可以将这些图片按顺序命名,然后使用一个循环逐个读取数据,最后cat成一个三维数组。追问

我觉得你的想法很好,能不能具体一点,例如需要什么指令之类的,或者举个例子讲解下,谢谢

追答

比如,你先把所有的图片使用批量重命名工具(网上有很多,如好压重命名)按顺序命名,如pic1,pic2,...,picN;

并将其放在下面的目录下,

currdir = 'D:/imagedir/';
imgdata = zeros(row,col,N);

for num = 1:N
name = [currdir,'pic',num2str(num),'.bmp'];
imgdata(:,:,num) = imread(name); 
  
end

温馨提示:答案为网友推荐,仅供参考