`
pleasetojava
  • 浏览: 710124 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

将JPG格式的彩色图像文件灰度化并进行直方图均衡

阅读更多
% 数字图像处理程序作业
% 本程序能将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源码(左上角8乘8变换编码、3.添加噪声,时域空域处理、2.读入彩色图像灰度直方图,直方图均衡化,对比度增强、1.读入彩色图像灰度化,旋转45度,傅

    有报告,有代码,有教程 function shiyan5 clear; %使用霍夫曼编码算法对图像... %灰度化图像 image_88=image_hui(1:8,1:8,:); [M,N] = size(image_88); I1 = image_88(:); P = zeros(1,256); %获取各符号的概率;

    数字图像处理_直方图_实验报告

    本实验报告通过实验和理论结合,讲解了数字图像处理的基本概念和技术,包括灰度直方图和直方图均衡化的原理和实现方法。通过实验和分析,读者可以了解数字图像处理的基本原理和技术,并掌握基本的图象增强方法。

    图象处理中直方图均衡化处理

    直方图变换 ... %读入JPG彩色图像文件 imshow(PS) %显示出来 title('输入的彩色JPG图像') imwrite(rgb2gray(PS),'PicSampleGray.bmp'); %将彩色图片灰度化并保存 PS=rgb2gray(PS); %灰度化后的数据存入数组

    数字图像处理及matlab实现大作业

    b)图像的灰度拉伸,直方图的均衡化、规定化;c)空间域平滑算法(如均值滤波、中值滤波等)。(2)频域增强:实现低通滤波、高通滤波等;(3)色彩增强:伪彩色增强、假彩色增强、真彩色增强。 5、图像压缩 (1)利用...

    图像处理软件,可实现各种功能

    图像的读取、存储、显示(bmp、jpg等常用格式) 图像剪切、缩放 图像色彩变换(彩色->...基本直方图变换和直方图均衡化 图像平滑与锐化 边缘抽取 阈值化 离散傅立叶变换 二值形态学处理(腐蚀、膨胀、开运算、闭运算)

    数字图像处理测试BMP/JPG图片,图片为2的整数幂大小

    用于数字图像处理测试BMP/JPG图片,图片的宽、高为2的整数幂大小。里边包含基本的Lena、照相师等。也有用于直方图均衡化的fog照片。有灰度图片也有彩色图片。

    Nero.zip_图形图像处理_matlab_

    编写基本的图像处理程序,包括功能:图像的读取、存储、显示(bmp、jpg等常用格式)...灰度等)基本直方图变换和直方图均衡化图像平滑与锐化边缘抽取阈值化离散傅立叶变换二值形态学处理(腐蚀、膨胀、开运算、闭运算)

    SMAGIC

    (2) 可以对图像实现放大/缩小观看,并可显示其直方图(态度,红,蓝,绿四通道) (3) 点运算:图像格式转换,阈值变换,窗口变换,灰度拉伸,态度均衡 (4) 几何变换:平移,转置,缩放,旋转,水平镜像,垂直镜像 (5) 正交变换:傅...

    基于自实现opencv图像处理函数的静态车道线检测项目源码.zip

    直方图均衡化 **所有算法源码均定义位于minicv.h下,最下面有接口参数说明;所有实现位于minicv.cpp下,关键步骤有注释** ### **2.2 实现过程** 0. **以此图片为实例** ![avatar](./车道线检测/source/20.jpg) ...

Global site tag (gtag.js) - Google Analytics