本文主要是介绍matlab批量对图片进行添加椒盐噪声并批量保存到文件夹,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 实验结果
- 实验代码
- 参考
实验结果
源路径
目标文件(实验结果)
实验代码
椒盐噪声matlab库函数
s = imnoise(A,'salt & pepper',density);
具体详情 请在matlab命令行中输入:
help imnoise
可以看到椒盐噪声的用法。
get_salt_pepper_noise_of_one_image.m
%----处理1幅图像的椒盐噪声:产生10幅图---
function get_salt_pepper_noise_of_one_image(path,name)prefix = name(1:end-4); % 去掉name后面的.png
% I = imread(name);
% figure,imshow(I);
density_list = []; % 加盐噪声density,共10个
for i= 1:10density_list(i) = 0.001 + (i-1) * 0.001;
end for i = 1:length(density_list)density = density_list(i);file_name = [path,name];A = imread(file_name);%s = gammaCorrection(file_name,1,density);s = imnoise(A,'salt & pepper',density);str0='D:\user\user\毕业设计\code_for_hashing\matlab_code\salt_pepper_noise_results\';str1= [prefix,'_','density=',num2str(density)];%字符串拼接str2 = '.png';save_path=[str0,str1,str2]; % 字符串拼接imwrite(s,save_path);
end end
get_salt_pepper_noise_of_image_sequences.m
file_path = 'D:\user\user\毕业设计\code_for_hashing\pictures_5_csv\';% 图像文件夹路径
img_path_list = dir(strcat(file_path,'*.png'));%获取该文件夹中所有png格式的图像
img_num = length(img_path_list)%获取图像总数量
I=cell(1,img_num);
if img_num > 0 %有满足条件的图像 for j = 1:img_num %逐一读取图像 image_name = img_path_list(j).name;% 图像名 image = imread(strcat(file_path,image_name));I{j}=image;fprintf('%d %d %s\n',i,j,strcat(file_path,image_name));% 显示正在处理的图像名 %图像处理过程 省略 get_salt_pepper_noise_of_one_image(file_path,image_name);%这里直接可以访问细胞元数据的方式访问数据end
end
参考
[1]MATLAB详解高斯噪声、椒盐噪声,简单实现图像的均值滤波、中值滤波并分析其有效性
这篇关于matlab批量对图片进行添加椒盐噪声并批量保存到文件夹的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!