Matlab 批量读取,处理及保存图片

       最近想用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

最后处理后保存图片的形式如下

Matlab 批量读取,处理及保存图片_第1张图片

 

 

这里需要注意的是:

1.路径结尾要加上 "/"

2.namelist(i).name 只能获取文件的名字,就像 1.jpg ,并不能获得完整的路径名,所以读取图片的时候要特别注意将之前的路径添加一起

3.保存的时候,可以使用[ ],将图片保存到自己想要存储的位置,以及图片的名字,并且需要将循环变量 i 转换成字符串。

你可能感兴趣的:(Matlab 批量读取,处理及保存图片)