DIP实验报告彩色图像处理.docx
- 文档编号:14319140
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:15
- 大小:2.31MB
DIP实验报告彩色图像处理.docx
《DIP实验报告彩色图像处理.docx》由会员分享,可在线阅读,更多相关《DIP实验报告彩色图像处理.docx(15页珍藏版)》请在冰点文库上搜索。
DIP实验报告彩色图像处理
课程:
数字图像处理
课程作业实验报告
实验名称:
ColorImageProcessing
实验编号:
签名:
姓名:
学号:
截止提交日期:
年月日
摘要:
本次实验学习一些基本的彩色图像增强处理方法,主要有两部分:
一是编写一个程序实现将一个灰度级范围显示为指定的彩色,其余的像素以RGB形式显示为与输入图像对应像素相同的灰度色;二是用直方图均衡化程序对R,G和B分量图分别进行直方图均衡化,然后将结果图转换回jpg格式;用三个直方图构成一个平均直方图,以此直方图为基础得到单一的直方图均衡化强度变换函数。
将该函数分别单独作用到R,G和B分量图上,将结果图转换为jpg格式。
比较并两个图像的差异。
1、技术论述
1、伪彩色处理
伪彩色处理是把黑白图像的各个不同灰度级按照线性或非线性的映射函数变换成不同的彩色,得到一幅彩色图像的技术。
使原图像细节更易辨认,目标更容易识别,能够成为。
伪彩色增强的方法主要有密度分割法、灰度级一彩色变换和频率域伪彩色增强三种。
本次实验采用课本图6.23原理进行伪彩色处理,其功能框图如下:
图1伪彩色处理框图
在RGB颜色模型中,任何一种颜色都可以由红、绿、蓝三基色按不同比例来合成,因此灰度图像的伪彩色处理首先要设定红、绿、蓝三个变换函数,用下面的配色方程表示就是:
(2.1)
(2.2)
(2.3)
式中
分别显示三色值,
对映射算子。
为一幅黑白平面图像上其对应点(x,y)上的光点强度即灰度值。
通过公式可得到相应灰度值的R,G,B颜色分量值。
本次实验要求将给定范围的灰度值转换为彩色,其他保持不变,这样就比较简单,只需找出要处理的灰度值范围,用彩色代替即可。
在实验中,通过改变灰度值范围来达到最佳效果。
原图像是256级灰度图像,将256级灰度对应到指定的几种颜色,灰度级分布与颜色对应如表1所示。
灰度级
0~31
32~63
64~95
96~127
128~154
155~191
192~233
234~255
颜色
黑色
蓝色
绿色
青色
红色
品红色
黄色
白色
表1:
灰度级与颜色对照表
各个颜色的RGB组合如表2所示。
颜色
红色成分
绿色成分
蓝色成分
黑色
0
0
0
蓝色
0
0
255
绿色
0
255
0
青色
0
255
255
红色
255
0
0
品红色
255
0
255
黄色
255
255
0
白色
255
255
255
表2:
RGB颜色组合表
根据表1和表2数据,可以将图像处理过程分为三步完成,即蓝色成分处理,绿色成分处理,红色成分处理。
第一步:
imread函数读取图像,figure函数进行绘图,subplot函数建立确定绘图位置,imshow函数显示函数。
将图像转换为double类型从而进行像素值的运算。
第二步:
zeros(size(I))函数建立跟原图像大小相同的全零矩阵,ones(size(I))*255建立跟原图像大小相同且数据都是255的矩阵。
调用find函数,确定符合find函数内部约束条件的像素点的坐标位置,并记录在pos中,在矩阵d中取出坐标点的数据给矩阵c对应坐标位置数据赋值,将矩阵c的全部数据赋值给矩阵f的蓝色分量,从而完成彩色图像的蓝色成分处理。
红色成分处理和绿色成分处理跟蓝色成分处理过程相同,只是find函数的约束条件根据处理的彩色成分不同而发生变化。
2、RGB分量直方图均衡化处理
本次实验将输入图像的R、G、B分量图分别进行直方图均衡化处理,然后再由处理后的三个分量图合成图像。
直方图均衡化的作用是扩展输入图像的动态范围,提高图像的对比度和亮度。
对比度增强源于直方图在整个亮度标度上的显著扩展;亮度的增强源于均衡化后的图像的直方图中灰度级平均值高于原始值。
在本次的实验结果中,可以看到其显著的作用。
在求得三个分量的均衡化直方图后,将其平均化得到一均值化直方图,从这个单一的直方图可以求得一变换函数。
将该函数分别作用于R、G、B三个分量图,然后合成新的图像。
在实验中,可以得到该变换函数,从该函数图可以看到其均衡化效果不是很明显,故用该函数分别处理三个分量图后的输出结果并不会有太大的改变。
2、实验结果及讨论
实验结果如图
(2)~图(10)所示:
图
(2)、图(3)分别是Figure1.10(4)原图和伪彩处理后的图像,结果很明显:
河流部分容易辨别,其余部分均保持不变。
实验中通过改变河流部分的灰度值范围,尽可能的消除了图中孤立的黄色部分。
图(4)、图(5)分别是Figure6.35(5)原图与其RGB三个分量图。
图(6)为RGB三分量直方图均衡化处理后的结果,从图可见:
处理后的图形亮度与对比度明显增强,观感质量更好。
图(7)、图(8)分别为RGB三分量的均衡化后的直方图与对应的转换函数图。
均衡化直方图的转换函数是一个阶梯状的,它是一个叠加的过程,在此给出是为了与后面的转换函数做对比。
图(9)是RGB三分量直方图均值化对应的转换函数,在此函数中可见:
此转换函数的阶梯效应较差,易得其直方图均衡化的效果较差。
图(10)便是此转换函数的处理结果,与之转换函数的效果相符合:
处理结果的均衡化效果比较差,对比度和亮度并没有显著提高。
图2Figure1.10(4)原图
图3伪彩色处理结果
图4Figure6.35(5)原图
图6各分量直方图均衡处理后的图
图7各分量直方图
图8各分量转换函数图
图9平均化转换函数图
图10平均化转换函数处理结果
3、程序附录
functionmain()
clc;clearall;closeall;
%%
%%第一部分:
对指定灰度范围进行伪彩处理
%tic;
I=imread('Fig1.10(4).jpg');%
figure
%subplot(1,2,1);
imshow(I);
title('Fig1.10(4)原图');
f=HYgray2rgb(I,0,25);
figure
%subplot(1,2,2);
imshow(f);
title('指定灰度范围伪彩处理后的图');
%toc;
%%
%%{
%%
%%第二部分:
对R,G和B分量图分别进行直方图均衡化
figure
ima=imread('Fig6.35(5).jpg');%
%subplot(1,2,1);
imshow(ima);
title('Fig6.35(5)原图');
fR=ima(:
:
1);
fG=ima(:
:
2);
fB=ima(:
:
3);
%RGB三个分量进行直方图均衡化
fR_histeq=histeq(fR,256);
fG_histeq=histeq(fG,256);
fB_histeq=histeq(fB,256);
%取RGB均衡化后的直方图
hR=imhist(fR_histeq);
hG=imhist(fG_histeq);
hB=imhist(fB_histeq);
fZ=cat(3,fR_histeq,fG_histeq,fB_histeq);
figure
%subplot(1,2,2);
imshow(fZ);
title('R、G、B分量均衡化图');
%%绘制RGB三分量直方图及其转换函数
figure
subplot(131);
%cdfR=cumsum(hR)./sum(hR);
plot(hR./sum(hR));
title('R分量直方图');
subplot(132);
%cdfG=cumsum(hG)./sum(hG);
plot(hG./sum(hG));
title('G分量直方图');
subplot(133);
%cdfB=cumsum(hB)./sum(hB);
plot(hB./sum(hB));
title('B分量直方图');
%
figure
subplot(131);
cdfR=cumsum(hR)./sum(hR);
plot(cdfR);
title('R分量转换函数图');
subplot(132);
cdfG=cumsum(hG)./sum(hG);
plot(cdfG);
title('G分量转换函数图');
subplot(133);
cdfB=cumsum(hB)./sum(hB);
plot(cdfB);
title('B分量转换函数图');
%%
%%RGB三分量直方图平均化处理后
figure
%subplot(1,2,1);
hP=(hR+hG+hB)./3;
cdf=cumsum(hP)./sum(hP);
plot(cdf);
title('分量均衡化直方图平均化后的转换函数');
cdf=cdf';
figure
%subplot(1,2,2);
imeqR=histeqmy(fR,cdf);
imeqG=histeqmy(fG,cdf);
imeqB=histeqmy(fB,cdf);
pZ=cat(3,imeqR,imeqG,imeqB);
imshow(pZ);
title('变换函数处理三分量后的图');
%%}
functionf=HYgray2rgb(I,a,b)
[M,N]=size(I);
I=double(I);
%%处理指定灰度值范围内的伪彩变换
c=zeros(size(I));
d=ones(size(I))*255;
pos=find(((I>=a)&(I
f(:
:
3)=c;
c(pos)=d(pos);
f(:
:
1)=c;
f(:
:
2)=c;
%%不改变指定范围以外的灰度
fori=1:
M
forj=1:
N
if((I(i,j)>=b)&&(I(i,j)<=255))
f(i,j,1)=I(i,j);
f(i,j,2)=I(i,j);
f(i,j,3)=I(i,j);
end
end
end
f=uint8(f);
end
functionimb=histeqmy(ima,count)
%histeqmy此处显示有关此函数的摘要
%输入参数:
%ima:
待处理图像
%count:
直方图均衡函数
%输出参数:
%imb:
均衡后输出图像
[xs,ys]=size(ima);
imb=zeros(xs,ys);
%计算和原始灰度对应的新的灰度t[],建立映射关系
fori=1:
256
newt(1,i)=floor(254*count(1,i)+0.5);
end
%计算直方图均衡后的新图new_tu
forx=1:
xs
fory=1:
ys
imb(x,y+1)=newt(1,ima(x,y)+1);
end
end
imb=uint8(imb);
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DIP 实验 报告 彩色 图像 处理