数字图像处理之彩色图像的处理
数字图像处理_实验报告书(八)彩色图像处理

rgb=cat(3,rgb_R,rgb_G,rgb_B);figure,imshow(rgb),title('RGB彩色图像');截图:(2)编写MATLAB程序,将一彩色图像从RGB空间转换为HIS空间,并观察其效果。
如例9.2所示。
程序:rgb=imread('LenaRGB.bmp');figure,imshow(rgb);rgb1=im2double(rgb);r=rgb1(:,:,1);g=rgb1(:,:,2);b=rgb1(:,:,3);I=(r+g+b)/3figure,imshow(I);tmp1=min(min(r,g),b);tmp2=r+g+b;tmp2(tmp2==0)=eps;S=1-3.*tmp1./tmp2;figure,imshow(S);tmp1=0.5*((r-g)+(r-b));tmp2=sqrt((r-g).^2+(r-b).*(g-b));theta=acos(tmp1./(tmp2+eps));H=theta;H(b>g)=2*pi-H(b>g);H=H/(2*pi);H(S==0)=0;figure,imshow(H);截图:(3)编写MATLAB程序,将一彩色图像在RGB空间进行彩色分割,并观察其效果。
如例9.11所示。
程序:rgb=imread('LenaRGB.bmp');figure,imshow(rgb);rgb1=im2double(rgb);r=rgb1(:,:,1);figure,imshow(r);g=rgb1(:,:,2);figure,imshow(g);b=rgb1(:,:,3);figure,imshow(b);r1=r;r1_u=mean(mean(r1(:)));[m,n]=size(r1);sd1=0.0;for i=1:mfor j=1:nsd1= sd1+(r1(i,j)-r1_u)*(r1(i,j)-r1_u);endendr1_d=sqrt(sd1/(m*n));r2=zeros(size(rgb1,1),size(rgb1,2));ind=find((r>r1_u-1.25*r1_d)&(r<r1_u+1.25*r1_d));r2(ind)=1;figure,imshow(r2);截图:(4)编写MATLAB程序,将一彩色图像在向量空间进行边缘检测,并观察其效果。
彩色图像的灰度化处理

第1章绪论1.1数字图像数字图像,又称数码图像或数位图像,是二维图像用有限数字数值像素的表示。
数字图像是由模拟图像数字化得到的、以像素为基本元素的、可以用计算机或数字电路存储和处理的图像。
像素(或像元,Pixel)是数字图像的基本元素,像素是在模拟图像数字化时对连续空间进行离散化得到的。
每个像素具有整数行(高)和列(宽)位置坐标,同时每个像素都具有整数灰度值或颜色值。
通常,像素在计算机中保存为二维整数数阻的光栅图像,这些值经常用压缩格式进行传输和储存。
数字图像可以许多不同的输入设备和技术生成,例如数码相机、扫描仪、坐标测量机、seismographic profiling、airborne radar等等,也可以从任意的非图像数据合成得到,例如数学函数或者三维几何模型,三维几何模型是计算机图形学的一个主要分支。
数字图像处理领域就是研究它们的变换算法。
1.2设计平台本次设计采用的平台是MATLAB 7.0。
MATLAB编程语言被业界称为第四代计算机语言,它允许按照数学推导的习惯编写程序。
MATLAB7.0的工作环境包括当前工作窗口、命令历史记录窗口、命令控制窗口、图形处理窗口、当前路径选择菜单、程序编辑器、变量查看器、模型编辑器、GUI编辑器以及丰富的函数库和MATLAB附带的大量M文件。
MATLAB是由美国Math Works公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种计算和数据处理的、可视化的、强大的计算工具。
它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂计算的领域得到了广泛应用。
MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担,被称为第四代编程语言。
在MATLAB设计环境中,图像处理工具箱提供一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。
灰度图像和彩色图像的概念

灰度图像和彩色图像的概念灰度图像和彩色图像是数字图像处理领域中常用的两种不同类型的图像。
首先来介绍灰度图像。
灰度图像是一种只有灰度信息的图像,也可以说是黑白图像。
它仅使用一个通道来表示图像中的像素亮度信息,用灰度值来表示像素的亮度强度。
灰度图像的每个像素的灰度值通常是一个介于0到255之间的整数,其中0表示纯黑色,255表示纯白色。
这种图像呈现了像素的亮度分布情况,能够反映出图像的灰度层次和亮度差异。
在灰度图像中,像素的色彩信息被忽略,只有亮度信息保留下来,因此灰度图像比较简洁和直观。
在很多图像处理和分析算法中,灰度图像被广泛应用。
而彩色图像是一种包含了颜色信息的图像。
彩色图像使用多个通道来表示图像中的红、绿、蓝三原色信息,分别用不同的颜色通道来表示图像中每个像素的红色、绿色和蓝色分量的亮度。
通常,彩色图像使用RGB色彩空间,其中红(R)、绿(G)、蓝(B)分别表示图像中每个像素的红色、绿色和蓝色分量的亮度。
每个颜色通道的取值范围通常是0到255之间的整数,代表了亮度的不同强度。
彩色图像通过将这三个通道的亮度信息进行组合,可以呈现出丰富的颜色信息,能够还原真实世界中的色彩。
相比于灰度图像,彩色图像包含了额外的颜色信息,因此更具有丰富性和真实感。
通过彩色图像,我们可以观察到物体的颜色、纹理、光照等细节,使图像更加生动和细致。
彩色图像可以广泛应用于计算机视觉、图像识别、计算机图形学等领域。
在图像处理领域,常常需要将彩色图像转化为灰度图像或者从灰度图像中提取出彩色信息。
而这种转换或提取是有一定技术方法的。
常见的方法有灰度化、通道分离、彩色映射等。
灰度化是将彩色图像转化为灰度图像的过程,可以通过采用加权平均法或以人眼感知亮度的方式来实现。
通道分离是将彩色图像的红、绿、蓝三个通道分离出来,得到三个独立的灰度图像,分别表示红色通道、绿色通道和蓝色通道的亮度信息。
而彩色映射则是将灰度图像通过颜色转化表进行映射,将每个像素的灰度值与一个颜色值对应起来,从而实现从灰度图像到彩色图像的转换。
数字图像处理实验八

数字图像处理实验实验八:彩色图像处理学院:信息工程学院姓名:学号:专业及班级:指导教师:一、实验目的使用MatLab 软件对图像进行彩色处理。
使学生通过实验熟悉使用MatLab软件进行图像彩色处理的有关方法,并体会到图像彩色处理技术以及对图像处理的效果。
二、实验内容要求学生能够完成彩色图像的分析,能正确讨论彩色图像的亮度、色调等性质;会对彩色图像进行直方图均衡,并能正确解释均衡处理后的结果;能够对单色图像进行伪彩色处理、利用多波长图像进行假彩色合成、进行单色图像的彩色变换。
利用MATLAB软件实现彩色图像处理的程序:rgb_image=imread('flower1.tif'); %读取图像flower1.tiffR=rgb_image(:,:,1); %获取图像的红色分量fG=rgb_image(:,:,2); %获取图像的绿色分量fB=rgb_image(:,:,3); %获取图像的蓝色分量figure(1),imshow(fR) %分别显示图像figure(2),imshow(fG)figure(3),imshow(fB)%实现rgb图像转化为NTSC彩色空间的图像yiq_image=rgb2ntsc(rgb_image);fY=yiq_image(:,:,1); %图像flower1.tif的亮度fI=yiq_image(:,:,2); %图像flower1.tif的色调fQ=yiq_image(:,:,3); %图像flower1.tif的饱和度figure(4),imshow(fY)figure(5),imshow(fI)figure(6),imshow(fQ)fR=histeq(fR,256); %对彩色图像的分量进行直方图均衡化fG=histeq(fG,256);fB=histeq(fB,256);RGB_image=cat(3,fR,fG,fB); %将直方图均衡化后的彩色图像合并figure,imshow(RGB_image) %观察处理后的彩色图色度,亮度参照前面f1=imread('v1_red.jpg');f2=imread('v1_green.jpg');f3=imread('v1_blue.jpg');f4=imread('infer_near.jpg');ture_color=cat(3,f1,f2,f3);figure,imshow(ture_color) %显示由红、绿、蓝三幅图合成的彩色图false_color=cat(3,f4,f2,f3); %用近红外图像代替R分量figure,imshow(false_color) %显示由近红外、绿、蓝三幅图合成的假彩色图f=imread('head.jpg');cut_1=imadjust(f,[0.0925 0.5],[0.0925 0.5]);%提取灰度在16-128之间的像素cut_2=imadjust(f,[0.5 1],[0.5 1]); %提取灰度在128-256之间的像素figure,imshow(cut_1),colormap(hot) %显示图像cut_1,并使用hot模型彩色化figure,imshow(cut_2),colormap(cool) %显示图像cut_2,并使用cool模型彩色化三、实验具体实现(1) 彩色图像的分析调入并显示彩色图像flower1.tif ;拆分这幅图像,并分别显示其R,G,B分量;根据各个分量图像的情况讨论该彩色图像的亮度、色调等性质。
数字图像处理3_彩色图像处理

19
人脸检测与识别,首先根据肤色信息将图象中 肤色区域分割出来
Digital Image Processing
20
医疗、显微真彩色图像
照片拍摄的是一只公牛 眼睛睫状体的毛细血管。 眼睛睫状体 这些毛细血管能分泌水 状液。这些液体为眼球 晶体和角膜提供了大部 分营养成份。 这张图片是从不同深度 不同深度 拍摄的27张照片合成而 拍摄的 张照片合成而 得到的,给人以三维图 得到的 的效果。为了更突出显 示公牛眼睛睫状体的毛 细血管并更好地进行拍 摄,毛细血管中注射了 一种不可溶的染料。
量化等级越多,所得图像层次越丰富,灰度分辨率高, 图像质量好,但数据量大; 量化等级越少,图像层次欠丰富,灰度分辨率低,会 出现假轮廓现象,图像质量变差,但数据量小。
Digital Image Processing 7
4.灰度值: 灰度值: 灰度值
• 概念: 概念: 表示像素明暗程度的整数称为像素的灰度值。 • 特性: 特性: 数值越大,该像素越亮;数值越小,该像素越暗。
Digital Image Processing 21
3.1 彩色基础
颜色视觉是一种复杂的物理、生理和心理现象。 颜色视觉是一种复杂的物理、生理和心理现象。 物理 现象 1、光线的物理性质 2、颜色特性描述 3、颜色的视觉机理
Digital Image Processing
22
1、光线的物理特性 、
为像素的灰度值,z与qi 的差称为量化误差。)
量化为8 量化为 bit 量化; 量化; 图2-3 量化示意图
Digital Image Processing
(2)整数 用一个字 整数qi用一个字 整数 节8 bit来表示量化 来表示量化 后的灰度值。 后的灰度值。把由 黑—灰—白的连续 灰 白的连续 变化的灰度值, 变化的灰度值, 量 化为0~ 数值 化为 ~255数值
[数字图像处理](一)彩色图像转灰度图像的三种方式与效果分析
彩色图像转灰度图像的三种方式与效果分析](https://img.taocdn.com/s3/m/a9ad791dbb1aa8114431b90d6c85ec3a87c28bdb.png)
[数字图像处理](⼀)彩⾊图像转灰度图像的三种⽅式与效果分析图像处理(⼀)彩⾊图⽚转灰度图⽚三种实现⽅式最⼤值法imMax=max(im(i,j,1),im(i,j,2),im(i,j,3))平均法imEva=im(i,j,1)3+im(i,j,2)3+im(i,j,3)3加权平均值法imKeyEva=0.2989×im(i,j,1)+0.5870×im(i,j,2)+0.1140×im(i,j,3)matlba实现clc;close all;clear all;% 相对路径读⼊图⽚(和代码在同⼀⽂件夹下)im = imread('p2.jpg');%---查看图⽚,检测是否成功读⼊% 对显⽰的图⽚进⾏排版subplot(2,3,4);imshow(im);% 对图⽚进⾏命名title('原图');[col,row,color] = size(im);%col为图⽚的⾏数,row为图⽚的列数,color对于彩⾊图⽚⼀般为3,每层对应RGB %利⽤matlab⾃带的函数进⾏ rgb_to_gray;im_matlab = rgb2gray(im);subplot(2,3,1);imshow(im_matlab);title('matlab⾃带rgb2gray');%--------------------------------------------------------%---⽤最⼤值法% 创建⼀个全为1的矩阵,长宽等同于原图的im_max = ones(col,row);for i = 1:1:colfor j = 1:1:rowim_max(i,j) = max( im(i,j,:) );endend% 将矩阵变为8byte⽆符号整型变量(不然⽆法显⽰图⽚)% 最好在计算操作结束后再变化,不然会有精度问题!!im_max = uint8(im_max);subplot(2,3,2);imshow(im_max);title('最⼤值法');%--------------------------------------------------------% 平均值法im_eva = ones(col,row);for i = 1:1:colfor j = 1:1:rowim_eva(i,j) = im(i,j,1)/3 + im(i,j,2)/3 + im(i,j,3)/3 ;% 两种的结果其实⼀样,但是如果先转换为uint8就会出现精度问题%sum1 = im(i,j,1)/3 + im(i,j,2)/3 + im(i,j,3)/3%sum2 = ( im(i,j,1) + im(i,j,2)+ im(i,j,3) )/3;%fprintf( " %.4f %.4f \n",sum1 ,sum2 ) ;endendim_eva = uint8(im_max);subplot(2,3,3);imshow(im_eva);title('平均值法');%--------------------------------------------------------% 加权平均法(rgb2gray所使⽤的权值)im_keyeva = ones(col,row);% 加权算法先转换为uint8计算效果更好im_keyeva = uint8(im_max);for i = 1:1:colfor j = 1:1:rowim_keyeva(i,j) = 0.2989*im(i,j,1) + 0.5870*im(i,j,2) + 0.1140*im(i,j,3) ;endendsubplot(2,3,5);imshow(im_keyeva);title('加权平均法');Processing math: 100%附matlab——rgb2gray源码function I = rgb2gray(X)%RGB2GRAY Convert RGB image or colormap to grayscale.% RGB2GRAY converts RGB images to grayscale by eliminating the% hue and saturation information while retaining the% luminance.%% I = RGB2GRAY(RGB) converts the truecolor image RGB to the% grayscale intensity image I.%% NEWMAP = RGB2GRAY(MAP) returns a grayscale colormap% equivalent to MAP.%% Class Support% -------------% If the input is an RGB image, it can be of any numeric type. The output% image I has the same class as the input image. If the input is a% colormap, the input and output colormaps are both of class double.%% Notes% -----% RGB2GRAY converts RGB values to grayscale values by forming a weighted % sum of the R, G, and B components:%% 0.2989 * R + 0.5870 * G + 0.1140 * B%% The coefficients used to calculate grayscale values in RGB2GRAY are% identical to those used to calculate luminance (E'y) in% Rec.ITU-R BT.601-7 after rounding to 3 decimal places.%% Rec.ITU-R BT.601-7 calculates E'y using the following formula:%% 0.299 * R + 0.587 * G + 0.114 * B%% Example% -------% I = imread('example.tif');%% J = rgb2gray(I);% figure, imshow(I), figure, imshow(J);%% indImage = load('clown');% gmap = rgb2gray(indImage.map);% figure, imshow(indImage.X,indImage.map), figure, imshow(indImage.X,gmap);%% See also RGB2IND, RGB2LIGHTNESS.% Copyright 1992-2020 The MathWorks, Inc.narginchk(1,1);isRGB = parse_inputs(X);if isRGBI = matlab.images.internal.rgb2gray(X);else% Color map% Calculate transformation matrixT = inv([1.0 0.956 0.621; 1.0 -0.272 -0.647; 1.0 -1.106 1.703]);coef = T(1,:);I = X * coef';I = min(max(I,0),1);I = repmat(I, [1 3]);end%--------------------------------------------------------------------------function is3D = parse_inputs(X)is3D = (ndims(X) == 3);if is3D% RGBif (size(X,3) ~= 3)error(message('MATLAB:images:rgb2gray:invalidInputSizeRGB'))end% RGB can be single, double, int8, uint8,% int16, uint16, int32, uint32, int64 or uint64validateattributes(X, {'numeric'}, {}, mfilename, 'RGB');elseif ismatrix(X)% MAPif (size(X,2) ~= 3 || size(X,1) < 1)error(message('MATLAB:images:rgb2gray:invalidSizeForColormap'))end% MAP must be doubleif ~isa(X,'double')error(message('MATLAB:images:rgb2gray:notAValidColormap'))endelseerror(message('MATLAB:images:rgb2gray:invalidInputSize'))end总结通过上⾯的代码结合实际的测试,果然,matlab⾃带的rgb2gray也就是加权平均的⽅法,对光线明暗的处理是最好的。
数字图像处理第六章色彩模型与彩色处理课件

Chapter 6 Color Image Processing
6.1 彩色基础
在颜料或着色剂中 ,原色的定义是这样 的:
白:减去一种原色 , 反射或传输另两种 原色。故其原色是: 深红、青、黄。而二 次色是R、G、B。如 图6.4所示。
Chapter 6 Color Image Processing
Chapter 6 Color Image Processing
6.2 彩色模型
6.2.1 RGB彩色模型
下面介绍所谓 全RGB彩色子集。
Chapter 6
Color Image Processing
6.2 彩色模型
Chapter 6 Color Image Processing
6.2 彩色模型
6.3 伪彩色处理
6.3 伪彩色处理 给特定的灰度值赋以彩色。伪彩色的 目的是为了人眼观察和解释图像中的目标。
Chapter 6 Color Image Processing
6.3 伪彩色处理
6.3.1 强度分层
参见图6.18,图像被看成三维函数。
Chapter 6 Color Image Processing
6.3.2 灰度级到 彩色转换
例6.5是一突出 装在行李内的爆炸物 的伪彩色应用。
Chapter 6 Color Image Processing
6.3 伪彩色处理
6.3.2 灰度级到彩 色转换
例6.5是一突出装 在行李内的爆炸物的伪彩 色应用。
Chapter 6 Color Image Processing
6.3 伪彩色处理
Chapter 6 Color Image Processing
6.3 伪彩色处理
彩色图像分割

二值、灰度形态学
二值形态学中的运算对象是集合。设A为图像集合,S为结 构元素,数学形态学运算是用S对A进行操作。需要指出,实际 上结构元素本身也是一个图像集合。对每个结构元素可以指定 一个原点,它是结构元素参与形态学运算的参考点。应注意, 原点可以包含在结构元素中,也可以不包含在结构元素中,但 运算的结果常不相同。以下用阴影代表值为1的区域,白色代表 值为0的区域,运算是对值为1的区域进行的。二值形态学中两 个最基本的运算——腐蚀与膨胀,如图所示。
基本符号和术语
1. 元素和集合
在数字图像处理的数学形态学运算中,把一幅图像称为一个 集合。对于二值图像而言,习惯上认为取值为1的点对应于景 物中心,用阴影表示,而取值为0的点构成背景,用白色表示, 这类图像的集合是直接表示的。考虑所有值为1的点的集合为 A, 则A与图像是一一对应的。对于一幅图像A,如果点a在A
y S1
O
y
x X
X○ S1 X○ S2
O S2
x
(a)
(b)
X (c)
图 (a) 结构元素S1和S2
(b) X○S1
(c) X○S2
y S1
O
y
x
S1 X
X● S1
X● S2
O S2
x
X
S1
(a)
(b)
图 (a) 结构元素S1和S2
(c)
(b) X●S1; (c) X●S2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六彩色图像的处理一、实验目的1、掌握matlab中RGB图像与索引图像、灰度级图像之间转换函数。
2、了解RGB图像与不同颜色空间之间的转换。
3、掌握彩色图像的直方图处理方法。
二、实验内容及步骤1、RGB图像与索引图像、灰度级图像的转换。
close allRGB=imread('flowers.tif');[R_i,map]=rgb2ind(RGB,8);%RGB图像转换为8色的索引图像figureimshow(R_i,map)[R_g]=rgb2gray(RGB);%RGB图像转换为灰度级图像figureimshow(R_g)思考:将RGB图像’flowers.tif’分别转换为32色、256色、1024色索引图像,是否调色板所表示的颜色值越多图像越好?close allRGB=imread('flowers.tif');[R_i1,map]=rgb2ind(RGB,8);%RGB图像转换为8色的索引图像[R_i2,map]=rgb2ind(RGB,32);%RGB图像转换为32色的索引图像[R_i3,map]=rgb2ind(RGB,256);%RGB图像转换为256色的索引图像[R_i4,map]=rgb2ind(RGB,1024);%RGB图像转换为1024色的索引图像Subplot(221);imshow(R_i1,map);title('8色的索引图像');Subplot(222);imshow(R_i2,map);title('32色的索引图像');Subplot(223);imshow(R_i3,map);title('256色的索引图像');Subplot(224);imshow(R_i4,map);title('1024色的索引图像');结论:随着索引值的增加图像的质量也有增加,更加清晰,色彩也更加鲜明。
但不是不是颜色值越多越好。
当索引值过高时,会出现无法识别而致模糊的情况出现。
2、RGB图像与不同颜色空间的转换。
(1) RGB与HSI颜色空间的转换HSI应用于彩色图像处理。
实验六文件夹中rgb2hsi( )函数将RGB颜色空间转换为HSI 空间并显示各分量,hsi2rgb( )函数是将HSI颜色空间转换为RGB颜色空间。
close allx=imread('flowers.tif');figureimshow(x)title('RGB')x_hsi=rgb2hsi(x);% RGB颜色空间转换成HSI颜色空间,% 并显示H、S、I各分量figureimshow(x_hsi)title('HSI')x_h_r=hsi2rgb(x_hsi);figureimshow(x_h_r)title('HSI-->RGB')(2)RGB与CMY颜色空间转换CMY颜色空间运用在大多数在纸上沉积彩色颜料的设备,如彩色打印机和复印机。
CMY(青、深红、黄)是RGB颜色空间的补色。
close allx=imread('flowers.tif');X = im2double(x);R=X(:,:,1);G=X(:,:,2);B=X(:,:,3);C=1-R;M=1-G;Y=1-B;R1=1-C;G1=1-M;B1=1-Y;CMY=cat(3,C,M,Y);RGB1=cat(3,R,G,B);subplot(1,3,1),imshow(X);title('RGB') ;subplot(1,3,2),imshow(CMY);title('CMY') ;subplot(1,3,3),imshow(RGB1);title('CMY--->RGB') ;思考:如何将RGB图像分解出其R、G、B颜色分量?结果类似下图。
close allx=imread('flowers.tif');X = im2double(x);R=X(:,:,1);G=X(:,:,2);B=X(:,:,3);C1=R;M1=G-G;Y1=B-B;C2=R-R;M2=G;Y2=B-B;C3=R-R;M3=G-G;Y3=B;R=cat(3,C1,M1,Y1);G=cat(3,C2,M2,Y2);B=cat(3,C3,M3,Y3);subplot(1,3,1),imshow(R);title('R') ;subplot(1,3,2),imshow(G);title('G') ;subplot(1,3,3),imshow(B);title('B') ;3、彩色图像的直方图处理(1)在HSI颜色空间对I(强度)分量进行调整及直方图均衡化。
close allx=imread('flowers.tif');figureimshow(x)title('RGB')x_hsi=rgb2hsi(x);% RGB颜色空间转换成HSI颜色空间,% 并显示H、S、I各分量h=x_hsi(:,:,1);s=x_hsi(:,:,2);i=x_hsi(:,:,3);i1=imadjust(i,[0 1],[],0.6);%对I分量进行灰度值调整,使图像更亮x_hsi=cat(3,h,s,i1);x_h_r=hsi2rgb(x_hsi); % HSI空间转换为RGB空间figureimshow(x_h_r)title('imadjust(i,[],[],0.6)')i2=histeq(i); %对I分量进行直方图均衡化,加强对比度x_hsi=cat(3,h,s,i2);x_h_r=hsi2rgb(x_hsi); % HSI空间转换为RGB空间figureimshow(x_h_r)title('histeq(i)')(2) RGB颜色空间对全彩色进行直方图处理close allx=imread('flowers.tif');figureimshow(x)title('RGB')r=x(:,:,1); g=x(:,:,2); b=x(:,:,3);r1=imadjust(r,[0 1],[],0.6);%对R分量进行灰度值调整g1=imadjust(g,[0 1],[],0.6); %对G分量进行灰度值调整b1=imadjust(b,[0 1],[],0.6); %对B分量进行灰度值调整x1=cat(3,r1,g1,b1);figure; imshow(x1)title('imadjust(r/g/b,[],[],0.6)')r2=histeq(r); %直方图均衡化g2=histeq(g);b2=histeq(b);x2=cat(3,r2,g2,b2);%处理后的R、G、B分量合并回RGB图像figure; imshow(x2)title('histeq(r/g/b)')思考:参考彩色图像的直方图处理方法,分别对RGB图像'flowers.tif' 进行尺寸为5*5的均值平滑滤波及拉普拉斯锐化。
(在HIS空间或RGB空间都可以)结果类似下图。
拉普拉斯算子:h=[ -1 -1 -1;-1 8 -1;-1 -1 -1;];(1)5*5 均值平滑滤波close all;x=imread('flowers.tif');h=fspecial('average',5);y=imfilter(x,h);subplot(1,2,1);imshow(x);title('RGB');subplot(1,2,2);imshow(y);title('5*5 均值平滑滤波');(2)拉普拉斯锐化close all;x=imread('flowers.tif');h=[ -1 -1 -1;-1 8 -1;-1 -1 -1;];y=imfilter(x,h);subplot(1,2,1);imshow(x);title('RGB');subplot(1,2,2);imshow(y);title('拉普拉斯滤波');三、实验报告1、按照实验步骤做实验;2、记录实验结果,并作出总结;3、按照实验报告格式写出报告。
四、实验心得及机会通过这次实验,我学会并了解了许多有关数字图像处理方面的知识。
以前只是看着课本上的内容学习,对很多知识只是生分的了解,但是不懂得如何应用,通过做实验,自己动手,对图像做一系列的处理和变换,体会到了各种参数对数字图像的影响。
通过此次实验也发现了自己的而许多问题,在对于MATLAB软件的应用上面我还有许多不足,尤其是对如何编写M文件方面很难掌握,仍有待加强。