最近想用MATALB对图片进行批量处理,之前都是用python比较多点,然后发现Matlab批量处理图片相对于python还是有点麻烦的,网上搜了下教程,也感觉有些麻烦,后来自己摸索了下,感觉有种方法还是不错的,现在与大家分享下。
Input_path = 'C:\Users\ASUS\Desktop\LDCT_NOISE\';
Output_path='C:\Users\ASUS\Desktop\denoise_wiener\';
namelist = dir(strcat(path,'*.jpg')); %获得文件夹下所有的 .jpg图片
len = length(namelist);
for i = 1:len
name=namelist(i).name; %namelist(i).name; %这里获得的只是该路径下的文件名
I=imread(strcat(Input_path, name)); %图片完整的路径名
K2=wiener2(I,[5 5]); %对图片进行去噪处理
imwrite(K2,[Output_path,'wie',int2str(i),'.jpg']); %完整的图片存储的路径名 并将整形的数字
转换成字符串
end
1.路径结尾要加上 "/"
2.namelist(i).name 只能获取文件的名字,就像 1.jpg ,并不能获得完整的路径名,所以读取图片的时候要特别注意将之前的路径添加一起
3.保存的时候,可以使用[ ],将图片保存到自己想要存储的位置,以及图片的名字,并且需要将循环变量 i 转换成字符串。