天天看点

MATLAB实现循环读取图片做直方图均值化MATLAB实现循环读取图片做直方图均值化

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