% 数字图像处理程序作业
% 本程序能将JPG格式的彩色图像文件灰度化并进行直方图均衡
%
% 输入文件:c:\test.jpg 待处理图像
% 输出文件:PicSampleGray.bmp 灰度化后图像
% PicEqual.bmp 均衡化后图像
%
% 输出图形窗口说明
% figure NO 1 待处理彩色图像
% figure NO 2 灰度化后图像
% figure NO 3 直方图
% figure NO 4 均衡化后直方图
% figure NO 5 灰度变化曲线
% figure NO 6 均衡化后图像
% 1, 处理的图片名字要为 PicSample.jpg
% 2, 程序每次运行时会先清空workspace
clear all
%一,图像的预处理,读入彩色图像将其灰度化
PS=imread('c:\test.jpg'); %读入JPG彩色图像文件
figure;
imshow(PS) %显示出来 figureNO 1
title('输入的彩色JPG图像')
imwrite(rgb2gray(PS),'PicSampleGray.bmp'); %将彩色图片灰度化并保存
PS=rgb2gray(PS); %灰度化后的数据存入数组
figure,imshow(PS) %显示灰度化后的图像,也是均衡化前的样品 figure NO 2
title('灰度化后的图像')
%二,绘制直方图
[m,n]=size(PS); %测量图像尺寸参数
GP=zeros(1,256); %预创建存放灰度出现概率的向量
for k=0:255
GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置
end
figure,bar(0:255,GP,'g') %绘制直方图 figure NO 3
title('原图像直方图')
xlabel('灰度值')
ylabel('出现概率')
%三,直方图均衡化
S1=zeros(1,256);
for i=1:256
for j=1:i
S1(i)=GP(j)+S1(i); %计算Sk
end
end
S2=round(S1*256); %将Sk归到相近级的灰度
for i=1:256
GPeq(i)=sum(GP(find(S2==i))); %计算现有每个灰度级出现的概率
end
figure,bar(0:255,GPeq,'b') %显示均衡化后的直方图 figure NO 4
title('均衡化后的直方图')
xlabel('灰度值')
ylabel('出现概率')
figure,plot(0:255,S2,'r') %显示灰度变化曲线 figure NO 5
legend('灰度变化曲线')
xlabel('原图像灰度级')
ylabel('均衡化后灰度级')
%四,图像均衡化
PA=PS;
for i=0:255
PA(find(PS==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素
end
figure,imshow(PA) %显示均衡化后的图像 figure NO 6
title('均衡化后图像')
imwrite(PA,'PicEqual.bmp');
分享到:
相关推荐
MATLAB教学视频图像增强之灰度变换和直方图均衡匹配-MATLAB教学视频:空间域图像增强之灰度变换和直方图均衡匹配.zip MATLAB教学视频,数字图像处理类:本期视频时长约105分钟,通过大量的图片增强案例,从图像的...
编程实现彩色图像的直方图均衡化处理。要求给出原始图像的直方图、均衡化图像及其直方图和直方图均衡化时所用的灰度级变换曲线图。
matlab 灰度图像直方图均衡化
数字图像处理实验(1)--灰度图的直方图均衡化。编程实现灰度图像的直方图均衡化处理。要求给出原始图像的直方图、均衡化图像及其直方图和直方图均衡化时所用的灰度级变换曲线图。
灰度直方图,利用matlab实现图像的直方图均衡化
图像灰度线性变换及直方图均衡化源代码图像灰度线性变换及直方图均衡化源代码图像灰度线性变换及直方图均衡化源代码图像灰度线性变换及直方图均衡化源代码图像灰度线性变换及直方图均衡化源代码图像灰度线性变换及...
直方图均衡化是增强图像对比度的一种方法。当一幅图像灰度级分布不均的时候,可以通过直方图均衡化来重新分布灰度。本文提供了直方图均衡化的C代码。
画出灰度化图像home_gray的灰度直方图,并拼接原灰度图与结果图;3、画出彩色home_color图像的直方图,并拼接原彩色图与结果图,且与上一问结果放在同一个窗口中显示;4、画出ROI(感兴趣区域 )的直方图,ROI区域为...
用于图像预处理中的图像灰度化和直方图均衡处理的matlab代码
灰度图象的直方图均衡化;梯度;直方图规定化;
图像的灰度拉伸、直方图均衡化处理、GUI界面 matlab图像处理学生作业
使用VC编程对bmp图像进行读入、保存操作,并对灰度的图像进行直方图均衡化处理。程序中将图像以文件方式读入,对学习bmp文件的结构有一定的帮助。
图像去模糊 matlab实现灰度直方图均衡化
主要实现了彩色图像到灰度图像的转化,然后根据灰度图像进行直方图均衡化,用MATLAB 编写的,简单易懂。
此程序可用于理解数字图像处理时的直方图均衡化的问题
1、 用C语言实现; 2、 对一幅图像做直方图的均衡化。 3、 对一幅256×256大小的灰度图像A(256个灰度),对图像做锐化处理得到图像B(算法不限),做图像减法A-B;
该源码为MATLAB图像处理GUI的源代码,包含图像灰度转化,二值化、边缘检测、以及图像增强、直方图均衡化等功能。
自己写的灰度图像的均衡化matlab程序,注释的很清楚!
这是一个自己写的图像灰度化程序,包含彩色图像灰度化、灰度线性化。
对于彩色图像,我们可以对 R(红)G(绿)B(蓝) 每个通道都执行直方图均衡化来改善照片的质量...对于灰度图像,我们可以直接对其进行直方图均衡化来改善照片的质量。matlab实现数字图像处理均衡化图像的五种图像变换方式。