数字图像处理之彩色图像的处理
数字图像处理_实验报告书(八)彩色图像处理
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数值
[数字图像处理](一)彩色图像转灰度图像的三种方式与效果分析
[数字图像处理](⼀)彩⾊图像转灰度图像的三种⽅式与效果分析图像处理(⼀)彩⾊图⽚转灰度图⽚三种实现⽅式最⼤值法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.主要处理:应用各种算法和方法对图像进行分析、处理和解释。
常见的处理包括滤波、边缘检测、图像变换等。
4.后处理:对处理后的图像进行后处理,包括去隐私、压缩、编码等操作。
常见的图像处理方法滤波滤波是数字图像处理中常用的方法之一,用于去除图像中的噪声或平滑图像。
常见的滤波方法包括均值滤波、中值滤波、高斯滤波等。
•均值滤波:用一个模板覆盖当前像素周围的像素,计算平均灰度值或颜色值作为当前像素的值。
•中值滤波:将模板中的像素按照灰度值或颜色值大小进行排序,取中值作为当前像素的值。
•高斯滤波:通过对当前像素周围像素的加权平均值来平滑图像,权重由高斯函数确定。
边缘检测边缘检测是用于寻找图像中物体边缘的方法。
常用的边缘检测算法包括Sobel 算子、Prewitt算子、Canny算子等。
•Sobel算子:通过对图像进行卷积运算,提取图像中的边缘信息。
•Prewitt算子:类似于Sobel算子,也是通过卷积运算提取边缘信息,但采用了不同的卷积核。
数字图像处理的常用方法
数字图像处理的常用方法随着科技的发展,数字图像处理已经深入到每一个角落。
不论是专业的图像处理从业人员还是普通大众,它们都在使用各种计算机软件和硬件来处理复杂的图像。
在这里,我们将简要介绍常用的数字图像处理方法。
首先,我们将讨论图像压缩。
图像压缩是一种数字图像处理方法,它可以将大型图像容量减小,从而加快图像传输过程,并减少储存空间的使用,同时也不会影响图像的质量。
一般来说,有损压缩和无损压缩是当前应用最广泛的两种图像压缩技术。
其次,去噪是一种数字图像处理方法,用于消除图像中的噪声。
通常情况下,噪声由图像传感器,摄影机或相机传感器,也可能由数据传输过程中的干扰产生。
图像去噪可以从噪声中消除图像中细微的不和谐,恢复其原始质量,从而实现清晰的图像。
一般来说,最常用的去噪方法包括中值滤波,均值滤波,高斯滤波和离散小波变换等。
此外,图像分割和目标检测也是数字图像处理方法。
图像分割是将图像划分为一些简单、连续的图像区域的过程,以便从中提取出需要处理的特定对象。
这项技术可以使用不同的技术来实现,如阈值分割,聚类,区域生长和形态学操作等。
目标检测是将图像处理技术应用于从图像中检测指定目标的过程。
常用的目标检测技术有基于模式匹配、视觉算法、基于卷积神经网络的检测等。
最后,彩色转换是一种根据显示器的光谱特性和人眼的视觉感受,将彩色图像从数字格式转换为其他格式的方法。
它可以改变图像的色彩,让图像看起来更亮、更加艳丽,从而增强图像的视觉效果。
常用的彩色传输方法包括YCbCr色彩空间,HSV色彩空间,RGBA色彩空间等。
从上面的介绍可以看出,数字图像处理技术有很多,每种技术都有其特定的应用领域。
比如,压缩能够加快图像传输,减少存储空间的使用;去噪可以消除图像噪声,从而恢复其原始质量;图像分割和目标检测可以从图像中提取出需要处理的特定对象;彩色转换可以改变图像的色彩,让图像看起来更亮,更加艳丽。
数字图像处理技术的发展速度非常快,它们已经成为当今社会认知增强,智能服务和新媒体应用等多个方面的核心技术。
《数字图象处理》实验指导书
《数字图象处理》实验和大作业指导书计算机科学与工程学院目录目录 (1)实验一:数字图像读取及色彩、亮度、对比度变化 (2)实验二:数字图像变换与伽马校正 (3)实验三:数字图像的噪声去除 (4)实验四:图像的空间域锐化(拉普拉斯算子) (5)实验五:频率域低通和高通滤波 (6)实验六:数字图像复原 (7)实验七:人脸皮肤颜色分层 (8)大作业 (9)实验一:数字图像读取及色彩、亮度、对比度变化一、实验目的:了解数字图像的存储格式,并学会对图像的某些视觉特征作简单处理。
二、实验要求:1.从最常用的“.BMP”图像格式中读取图像数据;2.对数字图像的表示方式(如RGB、YUV)及各种表示方式之间的转换有初步了解;3.根据输入参数改变数字图像的色彩、亮度、对比度。
三、实验步骤:1.根据BMP格式,将图像内容读入内存数组;2.通过访问数字图像RGB三个通道的对应矩阵,改变数字图像的色彩;3.将数字图像的RGB表示转换为YUV表示;Y=0.30R+0.59G+0.11BU=0.70R-0.59G-0.11BV=-0.30R-0.59G+0.89B4.通过访问Y(亮度)通道,改变数字图像的亮度;5.通过Y(亮度)通道作灰度的线性变换,改变数字图像的对比度。
四、实验图像:实验二:数字图像变换与伽马校正一、实验目的:了解数字图像的灰度反变换和γ(0.4,0.6,0.8)校正。
二、实验要求:1. 对图像进行灰度变换。
2. 对图像进行γ校正。
三、实验步骤:1. 将BMP图像内容读入内存数组。
2. 调整图像的灰度,对图像进行灰度变换(反变换)。
3. 对图像进行γ较正,分别取值为0.4,0.6,0.8.四、实验图像:灰度变换γ较正实验三:数字图像的噪声去除一、实验目的:学会用滤波器去除图像中的噪声。
二、实验要求:1.用均值滤波器去除图像中的噪声; 2.用中值滤波器去除图像中的噪声; 3.比较两种方法的处理结果三、实验步骤:1.根据BMP 格式,将图像内容读入内存数组; 2.用均值滤波器去除图像中的噪声;3.用中值滤波器去除图像中的噪声;将两种处理方法的结果与原图比较; 4.注意两种处理方法对边缘的影响。
数字图像处理方法-图像增强2
求出:k1和k2 求出:l1和l2
第五章 图像增强
23
空域处理—彩色图像增强
彩色平衡实现的算法
9 分别对R、G、B图像实施变换:
*=
+
R(x, y) k1*R(x, y) k 2
B(x, y)* = l1*B(x, y) + l2
G(x, y)* = G(x, y)
9 得到彩色平衡图像
第五章 图像增强
直方图均衡化的技术要点:
公理:直方图p(rk ),为常数的图像对比度最好
目标:寻找一个灰度变换函数T(r),使结果图像 的直方图p(sk )为一个常数
第五章 图像增强
3
空域处理—直方图增强
直方图均衡—灰度变换函数
1) 求出原图 f 的灰度直方图,设为h。h为一个256维的向 量。
2) 求出图像 f 的总体像素个数, Nf=m ×n
第五章 图像增强
32
空域处理—彩色图像增强
伪彩色增强
人类可以分辨比灰度层次更多的颜色种类 将灰度图像变换为彩色图像——伪彩色图像 方法:伪彩色变换,密度分割
伪彩色变换法—独立映射表变换法
9对灰度图像 f(x, y),建立颜色映射表:
IR
=
T (I ) R
IG
=
T (I ) G
I = T (I )
B
B
9形成RGB图像各分量为: R (x , y ) = T R ( f (x , y
))
第五章 图像增强
G (x, y ) = TG( f (x, y ))
B(x, y) = TB( f (x, y
33
))
空域处理—彩色图像增强
伪彩色变换流程
电子科技大学数字图像处理实验报告2
电子科技大学数字图像处理实验报告实验名称彩色图像处理实验序号学生姓名学生学号指导教师提交日期摘要本实验利用MATLAB软件,对彩色图像作了一些简单处理。
通过访问数字图像RGB三个通道的对应矩阵,改变数字图像的色彩,得到了原图像的补色图像。
并编写了图像的RGB模型与HSI模型相互转换的程序,实现了两个模型之间的互相转换。
为了得到HSI模型的补色,可将HSI模型转换为RGB模型,用RGB的反色来近似HSI的反色。
然后对彩色图像加入高斯与椒盐噪声,观察了加入噪声后RGB三个通道的图像效果,并通过算术均值滤波与中值滤波分别对三个通道进行去噪,达到对整个彩色图像的去噪。
最后证明了单个通道的噪声会通过到HSI的转换扩散到所有HSI图像上。
实验原理:1、三基色原理:人的眼睛就像一个三色接收器的体系,大多数的颜色可以通过红、绿、蓝三色按照不同的比例合成产生。
同样绝大多数单色光也可以分解成红(red)绿(green)蓝(blue)三种色光。
这是色度学的最基本原理,即三基色原理。
三种基色是相互独立的,任何一种基色都不能由其它两种颜色合成。
红绿蓝是三基色,这三种颜色合成的颜色范围最为广泛。
红绿蓝三基色按照不同的比例相加合成混色称为相加混色。
人眼接收色彩的方法:加法混色。
光色(红色+绿色)=黄色(yellow)光色(红色+蓝色)=紫红(magenta)光色(蓝色+绿色)=青色(cyan)印刷四色:减法呈色颜料(黄色+青色)=白色-红色-蓝色=绿色颜料(紫红+青色)=白色-红色-绿色=蓝色颜料(黄色+紫红)=白色-绿色-蓝色=红色颜料色另外会附加一个黑色,即cyan、magenta、yellow、black四色(cmyk)。
2、彩色图像表示方法:RGB图像:一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色像素点都是在特定空间位置的彩色图像相对应的红绿蓝三个分量。
RGB图像可以看成是一个有三幅灰度图像形成的“堆”,形成一幅RGB图像的三个图像常称为红、绿或蓝分量图像。
数字图像处理1-关于灰度,比特深度,彩色图像等名词的理解
灰度图像灰度图像是区别于普通rgb编码图像的一种特别的图像编码。
它将一张黑白照片的每个像素设置了256个灰度档,每个像素根据自身反应的图像上点的明亮程度来展示对应的灰度。
同时使用rgb的编码一样可以得到黑白照片,但是二者各有优缺点。
灰度图像的黑白照片,由于每个像素只需要8bit的存储量,占用空间更小。
而rgb模式下的黑白照片虽说占用了3倍的空间,相对应的阴影细节却能更好的体现出来。
比特深度比特深度也就是通常买显示器会说到的“色域”。
8bit的深度就是说一个像素点对应的颜色,其rgb值中的每一个都分为256档。
当然除了8bit还有11bit,16bit之类的更宽的色域,相对应的图片的颜色会更丰富,更有层次感。
图像分辨率图像分辨率是一个用来描述图像质量,图像清晰程度的一个量。
其基本概念是指每一平方英寸中有多少个像素点,单位就是人们经常提到的dpi。
而整个图像的像素个数就是由图像本身的宽、高以及图像分辨率来共同确定的。
图像直方图图像直方图是对图像曝光程度以及颜色的一种特别的表现方式。
在灰度图像中,其横坐标就是256个灰度档,而其纵坐标就是整个图像中某一灰度档对应的相对像素数量。
在rgb图像中也同理,只不过每个单独的原色会有其单独的直方图。
如果图像直方图中某一位置出现峰值,就说明这个强度的像素点最多。
如果在横轴最左端或最右端出现峰值,则说明画面过曝或过暗,损坏无法修复。
Bayer Filter的工作原理Bayer Filter通常翻译为拜耳过滤器或拜耳滤色器,现在的数字图像采集设备基本上都是用的这种原理。
由于要同时采集rgb信息,平面上均匀分布着3种采集单元,分别对应着rgb三原色。
每个单元由一片或红或绿或蓝的玻璃和可以感受光强的传感器构成,光线通过彩色玻璃,对应颜色的光线就会照射到传感器上,待曝光结束后,对传感器的读数进行计算,就可以还原某一像素上对应的rgb值构成其采集到的颜色,所有单元同理。
此外,由于两个单元之间有微小的缝隙,会有部分光无法直接被传感器利用。
数字图像处理2-真彩色,灰度图像,索引色图像等的相互转化
timg 真彩色timg1 灰度图像timg2 索引色图像(64色)timg3 二值图像(阈值为0.5)这里从网上找到了timg真彩色图像作为本次作业中进行数字处理的图像。
首先在ps中调整了图像模式,并进行了另存为,生成了timg1与timg2,又在MATLAB中将灰度图像转化为了二值图像timg3,其中阈值为0.5。
这一步操作的代码如下:A = imread('timg1.jpg');B = im2bw(A, 0.5);imshow(B)imwrite(B,'timg3.jpg');随后我们来对每个图像imread的返回值进行观察。
对于timg处理的程序如下:A = imread('timg.jpg');disp(A);whos Aimshow(A)由于disp显示数据过多,这里不放原始数据了。
其具体内容为3个数组,每个数组都是320*200的,分别代表图片中每个像素的rgb值。
而whos语句显示出的内容如下:Bytes Class Name Size192000 uint8A 200x320x3其中200*320*3说明图像像素为200*320而且为rgb格式,有3个矩阵。
192000为图片大小,而其rgb值是用unit8即8位无符号整数存储,0-255的值代表了某一点像素某一颜色分量的强度。
同理,若将上述程序中的timg改为timg1灰度图像,显示出来的矩阵则只有一个,大小仍为200*320但是每个点的数值则代表对应像素的灰度值。
whos语句显示出的内容如下:Name SizeBytes Class64000 u int8A 200x320由于灰度图像只需要存储灰度而不是rgb3个分量,其大小便没有最后的*3,因此其大小也只为timg的1/3。
对于索引图进行的操作与其他图像不同,由于其本身存储的是索引值,需要导入索引表才能还原原本的图像,因此程序如下:[IM, map] = imread('timg2.png','png');disp(IM);IMrgb(:,:,:) = ind2rgb(IM,map);whos IMrgbimshow(IMrgb)这里如果直接imshow原本图像的话会根据灰度图像的方式显示错误的图像,因此采用了一个ind2rgb函数通过之前导入的索引表和索引值矩阵将图像恢复为rgb图像矩阵。
数字图像处理 第4章 色彩模型及转换
实际上:不同比例的油墨三原色的组合可以在
标准胶印中产生一个中性灰
C:85%
M:82%
Y:78%
C:34%、
M:25%、
2020/9/23
Y:24%
32
印刷灰平衡:指黄品青三色油墨按不同网点面 积率配比在印刷品上生成中性灰
◎彩色构成 所有的色调都由青、品、黄三原色组成
◎底色去除UCR:一部分非彩色成分由黑色取代
色域映射算法应满足以下基本原则:
◎保持彩色图像的色调不变,即色相角不能偏移
◎保持最大的明度对比度。
◎202饱0/9/2和3 度的改变尽可能的小
36
2.RGB与HSI的色彩转换 ①RGB到HSI的颜色转换
红色=00或 3 60 0 当 BG
H 3600 - 当 BG
arccos
(R G) (R B)
道图像等。 2020/9/23
8
②色彩空间 对应着不同的色彩模型处理的色彩数据和文
件的集合 ③色彩模型与色彩空间之间的关系
色彩模型——呈色原理——确定的数值 色彩空间——呈色设备——不同的参数 色彩空间的选择和设置是色彩处理的基础
2.RGB色彩模型
基于自然界中3种原色光的混合原理,将红 、绿 和蓝3种原色按照从0(黑)到255(白色)的亮 度202值0/9/23在每个色阶中分配,从而指定其色彩的算法9
7
二、色彩模型与色彩空间
1.概念 ①色彩模式(颜色模型) :
用数值表示颜色的一种算法
确定图像中能显示的颜色数、影响图像的通
道数和文件大小 光谱数据——可见光谱图像
调色板数据——索引彩色图像 常用的图像色彩模式有:
二值图像、灰度图像、多色调图像、索引彩色
数字图像处理入门—直方图修正和彩色变换
数字图像处理入门—直方图修正和彩色变换这次,我们主要和调色板打交道。
先从最简单的反色讲起。
1. 反色(invert)反色就是形成底片效果。
如下图所示,图2为图1反色后的结果图1. 原图图2. 图1反色后的结果反色有时是很有用的,比如说,图1中黑色区域占绝大多数,这样打印起来很费墨,我们可以先进行反色处理再打印。
反色的实际含义是将R,G,B值反转。
若颜色的量化级别是256,则新图的R,G,B值为255减去原图的R,G,B值。
这里针对的是所有图,包括真彩图,带调色板的彩色图(又称为伪彩色图),和灰度图。
针对不同种类有不同的处理。
先看看真彩图。
我们知道真彩图不带调色板,每个像素用3个字节,表示R,G,B三个分量。
所以处理很简单,把反转后的R,G,B值写入新图即可。
再来看看带调色板的彩色图,我们知道位图中的数据只是对应调色板中的一个索引值,我们只需要将调色板中的颜色反转,形成新调色板,而位图数据不用动,就能够实现反转。
灰度图是一种特殊的伪彩色图,只不过调色板中的R,G,B值都是一样的而已。
所以反转的处理和上面讲的一样。
这里,我想澄清一个概念。
过去我们讲二值图时,一直都说成黑白图。
二值位图一定是黑白的吗?答案是不一定。
我们安装Windows95时看到的那幅setup.bmp是由蓝色和黑色组成的,但它实际上是二值图。
原来,它的调色板中的两种颜色是黑与蓝,而不是黑与白。
所以说二值图也可以是彩色的,只不过一般情况下是黑白图而已。
实现反色的源程序2. 彩色图转灰度图(color to grayscale)我们在第二讲时提到了YUV的颜色表示方法,知道在这种表示方法中,Y分量的物理含义就是亮度,它含了灰度图的所有信息,只用Y分量就完全能够表示出一幅灰度图来。
YUV和RGB之间有着如下的对应关系。
我们利用上式,根据R,G,B的值求出Y值后,将R,G,B值都赋值成Y,就能表示出灰度图来,这就是彩色图转灰度图的原理。
先看看真彩图。
5第5章 彩色数字图像基础.
2018/12/10
22
第5章 彩色数字图像基础
5.4 图像的种类
• 5.4.1 矢量图与点位图
– 矢量图(vector based image)法:
• 用一系列计算机指令来表示一幅图; • 实际上是数学方法来描述一幅图,然后变成许多的 数学表达式,再编程,用语言来表达。 • 在计算显示图时,也往往能看到画图的过程。绘制 和显示这种图的软件通常称为绘图程序(draw programs) •
– 假如显示屏上已经有一幅图存在,当这幅图或者这幅图的一部 分要重叠在上面时,T位就用来控制原图是否能看得见。
– 4. α通道(alpha channel)位
• 在用32位表示一个像素时,若R,G,B分别用8位表示, 剩下的8位常称为α通道(alpha channel)位,或称为复盖 (overlay)位、中断位、属性位。 • 视图混合(video keying)技术,它也采用α通道
2018/12/10
23
第5章 彩色数字图像基础
• 矢量图优点:
– 当需要管理每一小块图像时,矢量图法非常有效; – 目标图像的移动、缩小放大、旋转、拷贝、属性的改变 (如线条变宽变细、颜色的改变)也很容易做到; – 相同的或类似的图可以把它们当作图的构造块,并把它们 存到图库中,这样不仅可以加速画的生成,而且可以减小 矢量图文件的大小;
2018/12/10 3
第5章 彩色数字图像基础
图5-02 产生波长不同的光所需要的三基色值[1]
图5-02表示
使用基色波长 为700 nm(红 色)、546.1 nm(绿色)和 435.8 nm(蓝色) 时,在可见光 范围里,相加 混色产生某一 波长的光波所 需要的三种基 色的数值。
- 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文件方面很难掌握,仍有待加强。