MATLAB实现循环读取图片做直方图均值化
每次运行更改图片根目录即可
1.连续读取文件夹内图片。
2.循环生成直方图均值化后的jpg文件。
3.仅利用了MATLAB自带的histeq()函数。
close all;
file_path = 'C:\Users\Administrator\Desktop\zimu\';% 图像文件夹路径
img_path_list = dir(strcat(file_path,'*.jpg'));%获取该文件夹中所有.jpg格式的图像
img_num = length(img_path_list);%获取图像总数
if img_num > 0
for k = 1:img_num %逐一读取图像
image_name = img_path_list(k).name;% 图像名
image = imread(strcat(file_path,image_name));%读取图像
%函数histeq()进行直方图均衡化处理
I=rgb2gray(image)
J=histeq(I); %直方图均衡化
%figure,
%subplot(121),imshow(I);
%title('原图')
%subplot(122),imshow(J);
%title('均衡化后')
%figure,
%imhist(I,64);
%title('原图像直方图');
%figure,
%imhist(J,64);
%title('均衡化后的直方图');
filename=strcat(num2str(k),'.jpg')
imwrite(J,['C:\Users\Administrator\Desktop\new\',filename])
end
end