数字图像处理——彩色图像实验报告

合集下载

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告实验一数字图像处理编程基础一、实验目的1. 了解MATLAB图像处理工具箱;2. 掌握MATLAB的基本应用方法;3. 掌握MATLAB图像存储/图像数据类型/图像类型;4. 掌握图像文件的读/写/信息查询;5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法;6. 编程实现图像类型间的转换。

二、实验内容1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。

2. 运行图像处理程序,并保存处理结果图像。

三、源代码I=imread('cameraman.tif')imshow(I);subplot(221),title('图像1');imwrite('cameraman.tif')M=imread('pout.tif')imview(M)subplot(222),imshow(M);title('图像2');imread('pout.bmp')N=imread('eight.tif')imview(N)subplot(223),imshow(N);title('图像3');V=imread('circuit.tif')imview(V)subplot(224),imshow(V);title('图像4');N=imread('C:\Users\Administrator\Desktop\1.jpg')imshow(N);I=rgb2gary(GRB)[X.map]=gary2ind(N,2)RGB=ind2 rgb(X,map)[X.map]=gary2ind(I,2)I=ind2 gary(X,map)I=imread('C:\Users\dell\Desktop\111.jpg');subplot(231),imshow(I);title('原图');M=rgb2gray(I);subplot(232),imshow(M);[X,map]=gray2ind(M,100);subplot(233),imshow(X);RGB=ind2rgb(X,map);subplot(234),imshow(X);[X,map]=rbg2ind(I);subplot(235),imshow(X);四、实验效果实验二 图像几何变换实验一、实验目的1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果;2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现;3.掌握matlab 编程环境中基本的图像处理函数。

《数字图像处理》实验报告

《数字图像处理》实验报告

《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。

在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。

首先,我们进行了图像的读取和显示实验。

通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。

这为我们后续的实验奠定了基础。

同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。

这使我们能够更好地理解后续实验中的算法和操作。

接下来,我们进行了图像的灰度化实验。

灰度化是将彩色图像转换为灰度图像的过程。

在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。

通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。

随后,我们进行了图像的直方图均衡化实验。

直方图均衡化是一种用于增强图像对比度的方法。

在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。

通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。

在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。

滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。

在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。

通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。

此外,我们还进行了图像的边缘检测实验。

边缘检测是一种用于提取图像边缘信息的方法。

在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。

通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。

最后,我们进行了图像的压缩实验。

图像压缩是一种将图像数据进行压缩以减小文件大小的方法。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告⼆○⼀⼋~⼆○⼀九学年第⼀学期信息科学与⼯程学院课程设计报告书课程名称:数字图像处理班级:学号:姓名:指导教师:⼆○⼀⼋年⼗⼆⽉⼀、课程设计⽬的:1. 掌握读、写、显⽰图像的基本⽅法。

2. 掌握图像直⽅图的概念、计算⽅法以及直⽅图归⼀化、均衡化⽅法。

3. 掌握图像灰度变换的基本⽅法,理解灰度变换对图像外观的改善效果。

⼆、课程设计内容及要求:1. 读⼊⼀幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。

2. 完成灰度图像的直⽅图计算、直⽅图归⼀化、直⽅图均衡化等操作。

3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(⼆值化)等,分别使⽤不同参数观察灰度变换效果(对灰度直⽅图的影响)。

三、详细设计步骤:1、所使⽤的图像⽂件都保存在Matlab 安装⽬\toolbox\images\imdemos⼦⽬录下。

2、图像的读、写、显⽰操作。

运⽤Matlab 图像处理⼯具箱中的imread函数分别读⼊灰度图像pout.tif、⼆值图像blobs.png 和RGB 图像peppers.png,观察相应的图像矩阵,并运⽤imshow 函数显⽰相应图像。

3、对⼀个RGB 彩⾊图像peppers.png,分别抽取其R、G、B 三个分量层,并显⽰各层图像。

1、以灰度图像pout.tif 为例,运⽤灰度变换法实现图像增强。

2、运⽤Matlab 编程实现灰度直⽅图的统计以及直⽅图均衡化处理过程:(1)计算并绘制原始图像的灰度直⽅图;(2)根据离散累计分布函数,对原始灰度直⽅图进⾏均衡化处理,绘制均衡化后的灰度直⽅图;(3)⽣成均衡化处理后的新图像,显⽰并保存。

(4)⽐较原始图像和新图像的对⽐度。

(1)利⽤Matlab 函数IMNOISE(),在原图上分别叠加⾼斯噪声和椒盐噪声(2)实现均值滤波和中值滤波的功能,去除噪声;(3)调整窗⼝⼤⼩,采⽤对⽐均值滤波中值滤波的性能;1、以灰度图像rice.png 为例,实现Roberts 算⼦、Sobel 算⼦、Prewitt算⼦对其进⾏边缘检测,并实现根据梯度⽣成 5 种不同的增强图像。

彩色图像实验报告

彩色图像实验报告

一、实验目的通过课堂的学习,已经对图像分割的相关理论知识已经有了全面的了解,知道了许多图像分割的算法及算子,了解到不同的算子算法有着不同的优缺点,为了更好更直观地对图像分割进行深入理解,达到理论联系实际的目的。

1、使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响;2、使用MatLab 软件进行图像的分割;3、能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能;4、能够掌握分割条件(阈值等)的选择;5、完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。

二、实验原理1、边缘检测算法的基本步骤:(1)滤波。

边缘检测主要基于导数计算,但受噪声影响。

但滤波器在降低噪声的同时也导致边缘强度的损失。

(2)增强。

增强算法将邻域中灰度有显著变化的点突出显示。

一般通过计算梯度幅值完成。

(3)检测。

但在有些图像中梯度幅值较大的并不是边缘点。

最简单的边缘检测是梯度幅值阈值判定。

(4)定位。

精确确定边缘的位置。

图像分割的算法有:1、阈值分割原理:2、锐化与边缘检测梯度对应一阶导数,对于一个连续图像函数f(x,y):梯度矢量定义:梯度的幅度:梯度的方向:图像锐化的空间域方法可表示为模板卷积的形式。

如可将邻域平均处理看作一个作用于图象f(m,n)的低通滤波器,该滤波器的脉冲响应为H(r, s),用离散卷积表示如下:1, ,2 ,1 ,0, ),(),(),(-=--=∑∑-=-=N n m s r H s n r m f n m f kk r llsk 、l 由邻域大小决定,一般取k=l=1(即3⨯3窗口);H(r, s)为加权函数,称为掩模(mask )或模板。

这种离散卷积运算等价于用模板中心点逐一对准每一象素f(m, n),然后将模板元素和它所“压上”的图象元素对应相乘,再求和,其结果就是该中心点象素平滑后的输出(,)f x y 。

图像锐化也可以用类似的方法表示。

实验五 彩色图像处理

实验五  彩色图像处理

实验五彩色图像处理一、实验目的使用MatLab 软件对图像进行彩色处理。

使学生通过实验熟悉使用MatLab软件进行图像彩色处理的有关方法,并体会到图像彩色处理技术以及对图像处理的效果。

二、实验要求要求学生能够完成彩色图像的分析,能正确讨论彩色图像的亮度、色调等性质;会对彩色图像进行直方图均衡,并能正确解释均衡处理后的结果;能够对单色图像进行伪彩色处理、利用多波长图像进行假彩色合成、进行单色图像的彩色变换。

三、实验内容与步骤(1) 彩色图像的分析调入并显示彩色图像flower1.tif ;拆分这幅图像,并分别显示其R,G,B分量;根据各个分量图像的情况讨论该彩色图像的亮度、色调等性质。

(2) 彩色图像的直方图均衡接内容(1);显示这幅图像的R,G,B分量的直方图,分别进行直方图均衡处理,并显示均衡后的直方图和直方图均衡处理后的各分量;将处理完毕的各个分量合成彩色图像并显示其结果;观察处理前后图像的彩色、亮度、色调等性质的变化。

(3) 假彩色处理调入并显示红色可见光的灰度图像vl_red.jpg、绿色可见光的灰度图像vl_green.jpg 和蓝色可见光的灰度图像vl_blue.jpg;以及近红外灰度图像infer_near.jpg和中红外灰度图像infer_mid.jpg;以图像vl_red.jpg为R;图像vl_green.jpg为G;图像vl_blue.jpg为B,将这三幅图像组合成可见光RGB彩色图像;分别以近红外图像infer_near.jpg和中红外图像infer_mid替换R分量,形成假彩色图像;观察处理的结果,注意不同波长红外线图像组成图像的不同结果(4) 伪彩色处理1:灰度切片处理调入并显示灰度图像head.jpg;利用MATLAB提供的函数对图像在8~256级的范围内进行切片处理,并使用hot模式和cool 模式进行彩色化;观察处理的结果。

(5) 彩色变换(选做)调入并显示灰度图像Lenna.jpg;使用不同相位的正弦函数作为变换函数,将灰度图像变换为RGB图像。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告目录1.数字图像处理简介2.实验目的3.实验内容4.实验结果及代码展示5.算法综述6.M atlab优势7.总结8.存在问题一、数字图像处理简介图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。

图像处理是信号处理在图像域上的一个应用。

目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。

此外,基于光学理论的处理方法依然占有重要的地位。

图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。

传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。

然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。

二、实验目的巩固所学知识,提高所学能力三、实验内容利用matlab的GUI程序设计一个简单的图像处理程序,并含有如下基本功能:1. 读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题2. 对给定图像进行旋转3.对给定的图像添加噪声(椒盐噪声、高斯噪声)四、实验结果及代码展示1.软件设计界面2.各模块功能展示以及程序代码(1)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题效果展示:代码:a = imread('C:\Documents and Settings\Administrator\桌面\数字图像\舞美.JPG');i = rgb2gray(a);I = im2bw(a,0.5);subplot(3,1,1);imshow(a);title('源图像')subplot(3,1,2);imshow(i);title('灰度图像')subplot(3,1,3);imshow(I);title('二值图像')(2)图像旋转原图效果展示:代码:clc;clear all;close all;Img=imread('D:\My Documents\My Pictures\5.JPG'); Img=double(Img);[h w]=size(Img);alpha=pi/4;wnew=w*cos(alpha)+h*sin(alpha);hnew=w*sin(alpha)+h*cos(alpha);wnew=ceil(wnew);hnew=ceil(hnew); u0=w*sin(alpha);T=[cos(alpha),sin(alpha);-sin(alpha),cos(alpha)]; Imgnew2=zeros(hnew,wnew);Imgnew1=zeros(hnew,wnew); for u=1:hnewfor v=1:wnewtem=T*([u;v]-[u0;0]);x=tem(1);y=tem(2);if x>=1&&x<=h&&y>=1&&y<=wx_low=floor(x);x_up=ceil(x);y_low=floor(y);y_up=ceil(y);if (x-x_low)<=(x_up-x)x=x_low;elsex=x_up;endif (y-y_low)<=(y_up-y)y=y_low;elsey=y_up;endp1=Img(x_low,y_low);p2=Img(x_up,y_low);p3=Img(x_low,y_low);p4=Img(x_up,y_up);s=x-x_low;t=y-y_low;Imgnew1(u,v)=Img(x,y);Imgnew2(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;endendendfigure;imshow(Imgnew2,[]);B=imrotate(Img,alpha/pi*180);figure;imshow(B,[]);(3)对给定的图像添加噪声(斑点噪声、高斯噪声)效果展示:代码:I= imread('D:\My Documents\My Pictures\5.JPG');figure,subplot(211);imshow(I);title('原图');J1=imnoise(I,'gaussian',0,0.02);subplot(223);imshow(J);title('添加高斯噪声');J=imnoise(I,'speckle',0.04);subplot(224);imshow(J);title('添加斑点噪声');五、算法综述灰度图像:一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。

数字图像处理实验报告实验三

数字图像处理实验报告实验三
2.设计一个检测图3-2中边缘的程序,要求结果类似图3-3,并附原理说明
代码:
I=imread('lines.png');
F=rgb2gray(I);
subplot(2,2,1);
imshow(I);
title('原始图像');
thread=130/255;
subplot(2,2,2);
imhist(F);
图5-2 添上一层(漆)
3.开运算open:
4.闭close:
5.HMT(Hit-Miss Transform:击中——击不中变换)
条件严格的模板匹配
模板由两部分组成。 :物体, :背景。
图5-3 击不中变换示意图
性质:
(1) 时,
(2)
6.细化/粗化
(1)细化(Thin)
去掉满足匹配条件的点。
图5-4 细化示意图
se = strel('ball',5,5);
I2 = imerode(I,se);
imshow(I), title('Original')
figure, imshow(I2), title('Eroded')
Matlab用imopen函数实现图像开运算。用法为:
imopen(I,se);
I为图像源,se为结构元素
构造一个中心具有菱形结构的结构元素,R为跟中心点的距离
SE = strel('rectangle',MN)
构造一个矩形的结构元素,MN可写在[3 4],表示3行4列
SE = strel('square',W)
构造一个正方形的矩阵。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告引言数字图像处理是一门研究如何对图像进行数字化处理的学科,它的应用广泛,涵盖了图像的获取、增强、压缩、分割等多个方面。

本次实验旨在探索数字图像处理的基本原理和常用技术,并通过实践操作加深对数字图像处理的理解。

实验目的1.学习掌握数字图像处理的基本原理;2.熟悉常用的数字图像处理工具和方法;3.实践应用数字图像处理技术解决实际问题。

实验环境在本次实验中,我们使用了以下环境和工具:- 操作系统:Windows 10 - 编程语言:Python - 图像处理库:OpenCV实验步骤步骤一:图像获取与显示首先,我们需要获取一张待处理的图像,并对其进行显示。

在Python中,我们可以使用OpenCV库来实现图像的读取和显示。

以下是示例代码:import cv2# 读取图像image = cv2.imread('image.jpg')# 显示图像cv2.imshow('Image', image)cv2.waitKey(0)cv2.destroyAllWindows()步骤二:图像增强图像增强是数字图像处理中常用的技术之一,旨在改善图像的质量和可视化效果。

常见的图像增强技术包括灰度转换、直方图均衡化、滤波器等。

以下是示例代码:import cv2# 读取图像image = cv2.imread('image.jpg')# 灰度转换gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GR AY)# 直方图均衡化equalized_image = cv2.equalizeHist(gray_image)# 高斯滤波器blurred_image = cv2.GaussianBlur(equalized_image, (5, 5), 0)# 边缘增强enhanced_image = cv2.Canny(blurred_image, 100, 20 0)# 显示图像cv2.imshow('Enhanced Image', enhanced_image)cv2.waitKey(0)cv2.destroyAllWindows()步骤三:图像压缩图像压缩是数字图像处理中的重要话题,旨在减少图像的存储空间和传输带宽。

数字图像处理实验报告.doc

数字图像处理实验报告.doc

数字图像处理实验报告数字图像处理实验报告1一.实验内容:主要是图像的几何变换的编程实现,具体包括图像的读取、改写,图像平移,图像的镜像,图像的转置,比例缩放,旋转变换等.具体要求如下:1. 编程实现图像平移,要求平移后的图像大小不变;2. 编程实现图像的镜像;3. 编程实现图像的转置;4. 编程实现图像的比例缩放,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的缩放效果;5. 编程实现以任意角度对图像进行旋转变换,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的旋转效果.二.实验目的和意义:本实验的目的是使学生熟悉并掌握图像处理编程环境,掌握图像平移、镜像、转置和旋转等几何变换的方法,并能通过程序设计实现图像文件的读、写操作,及图像平移、镜像、转置和旋转等几何变换的程序实现.三.实验原理与主要框架3.1实验所用编程环境Visual C++(简称VC)是微软公司提供的基于C/C++的应用程序集成开发工具.VC拥有丰富的功能和大量的扩展库,使用它能有效的创建高性能的Windows应用程序和Wet应用程序.VC除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软基础类库(MFC)和活动模板类库(ATL),因此它是软件开发人员不可多得的开发工具.VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开发,正由于VC具有明显的优势,因而我选择了它来作为数字图像几何变换的开发工具.在本程序的开发过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的体现和灵活的应用.3.2实验处理的对象:256色的BMP(BIT MAP格式图像BMP(BIT MAP位图的文件结构:具体组成图:BITMAPFILEHEADER位图文件头(只用于BMP文件)bfType="BM" bfSize bfReserved1bfReserved2bfOffBitsbiSize biWidthbiHeight biPla nesbiBitCou ntbiCompressi onbiSizeimagebiXPelsPerMeterbiY PelsPerMeterbiClrUsedbiCirimporta nt单色DIB有2个表项16色DIB有16个表项或更少256色DIB有256个表项或更少真彩色DIB没有调色板每个表项长度为4字节(32位)像素按照每行每列的顺序排列每一行的字节数必须是4的整数倍BITMAPINFOHEAD位图信息头Palette 调色板DIBPixels DIB 图像数据1. BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成.2. BMP文件头BMP文件头数据结构含有BMP文件的类型(必须为BMP)文件大小(以字节为单位)、位图文件保留字(必须为0)和位图起始位置(以相对于位图文件头的偏移量表示)等信息.3. 位图信息头BMP位图信息头数据用于说明位图的尺寸(宽度,高度等都是以像素为单位,大小以字节为单位,水平和垂直分辨率以每米像素数为单位),目标设备的级别,每个像素所需的位数,位图压缩类型(必须是0)等信息.4. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色.具体包含蓝色、红色、绿色的亮度(值范围为0-255)位图信息头和颜色表组成位图信息5. 位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上.Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充.3.3 BMP(BIT MAP )位图的显示:①一般显示方法:1. 申请内存空间用于存放位图文件2. 位图文件读入所申请内存空间中3. 在函数中用创建显示用位图,用函数创建兼容DC用函数选择显示删除位图但以上方法的缺点是:1)显示速度慢;2)内存占用大;3)位图在缩小显示时图形失真大,(可通过安装字体平滑软件来解决);4)在低颜色位数的设备上(如256显示模式)显示高颜色位数的图形(如真彩色)图形失真严重.②BMP位图缩放显示:用视频函数来显示位图,内存占用少,速度快,而且还可以对图形进行淡化(Dithering )处理.淡化处理是一种图形算法,可以用来在一个支持比图像所用颜色要少的设备上显示彩色图像.BMP位图显示方法如下:1. 打开视频函数,一般放在在构造函数中2. 申请内存空间用于存放位图文件3. 位图文件读入所申请内存空间中4. 在函数中显示位图5. 关闭视频函数,一般放在在析构函数中以上方法的优点是:1)显示速度快;2)内存占用少;3)缩放显示时图形失真小,4)在低颜色位数的设备上显示高颜色位数的图形图形时失真小;5)通过直接处理位图数据,可以制作简单动画3.4程序中用到的访问函数Win dows支持一些重要的DIB访问函数,但是这些函数都还没有被封装到MFC中,这些函数主要有:1. SetDIBitsToDevice 函数:该函数可以直接在显示器或打印机上显示DIB.在显示时不进行缩放处理.2. StretchDIBits 函数:该函数可以缩放显示DIB于显示器和打印机上.3. GetDIBits 函数:还函数利用申请到的内存,由GDI位图来构造DIB.通过该函数,可以对DIB的格式进行控制,可以指定每个像素颜色的位数,而且可以指定是否进行压缩.4. CreateDIBitmap函数:利用该函数可以从DIB出发来创建GDI 位图.5. CreateDIBSection 函数:该函数能创建一种特殊的DIB,称为DIB项,然后返回一个GDI位图句柄.6. LoadImage函数:该函数可以直接从磁盘文件中读入一个位图,并返回一个DIB句柄.7. DrawDibDraw 函数:Windows提供了窗口视频(VFW)组件,Visual C++支持该组件.VFW中的DrawDibDraw函数是一个可以替代StretchDIBits 的函数.它的最主要的优点是可以使用抖动颜色,并且提高显示DIB的速度,缺点是必须将VFW弋码连接到进程中.3.5图像的几何变换图像的几何变换,通常包括图像的平移、图像的镜像变换、图像的转置、图像的缩放和图像的旋转等.数字图像处理实验报告2一、实验的目的和意义实验目的:本实验内容旨在让学生通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。

数字图像处理 实验报告(完整版).doc

数字图像处理 实验报告(完整版).doc

数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。

7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。

其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。

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

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

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程序,将一彩色图像在向量空间进行边缘检测,并观察其效果。

数字图像处理——彩色图像实验报告

数字图像处理——彩色图像实验报告

数字图像处理——彩色图像实验报告第一篇:数字图像处理——彩色图像实验报告6.3实验步骤(1)对彩色图像的表达和显示* * * * * * * * * * * *显示彩色立方体* * * * * * * * * * * * *rgbcube(0,0,10);%从正面观察彩色立方体rgbcube(10,0,10);%从侧面观察彩色立方rgbcube(10,10,10);%从对角线观察彩色立方体%* * * * * * * * * *索引图像的显示和转换* * * * * * * * * f=imread('D:PictureFig0604(a)(iris).tif');figure,imshow(f);%f是RGB真彩图像%rgb图像转换成8色索引图像,不采用抖动方式[X1,map1]=rgb2ind(f,8,'nodither');figure,imshow(X1,map1);%采用抖动方式转换到8色索引图像[X2,map2]=rgb2ind(f,8,'dither');figure,imshow(X2,map2);%显示效果要好一些 g=rgb2gray(f);%f转换为灰度图像g1=dither(g);%将灰色图像经过抖动处理,转换打二值图像figure,imshow(g);%显示灰度图像figure,imshow(g1);%显示抖动处理后的二值图像程序运行结果:*彩色立方体原图不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像灰度图像抖动处理后的二值图像(2)彩色空间转换f=imread('D:PictureFig0604(a)(iris).tif');figure,imshow(f);%转换到NTSC彩色空间%f是RGB真彩图像ntsc_image=rgb2ntsc(f);figure,imshow(ntsc_image(:,:,1));%显示亮度信息figure,imshow(ntsc_image(:,:,2));%显示色差信息figure,imshow(ntsc_image(:,:,3));%显示色差信息%转换到HIS彩色空间hsi_image=rgb2hsi(f);figure,imshow(hsi_image(:,:,1));%显示色度信息figure,imshow(hsi_image(:,:,2));%显示饱和度信息figure,imshow(hsi_image(:,:,3));%显示亮度信息程序运行结果:原图转换到NTSC彩色空间显示亮度信息显示色差信息显示色差信息转换到HIS彩色空间显示色差信息显示饱和度信显示亮度信息(3)彩色变换f=imread('D:PictureFig0614(a)(Chalk Original).tif');G=ice('image',f);%打开ice窗口对图像进行调整%在窗口中执行以下操作:%a)得到图像的补色%b)拖动映射曲线,对图像显示效果进行修改%c)在颜色通道中选中某一颜色,然后对映射曲线进行修改程序运行结果(1):全彩色图片ICE窗口它的补色ICE窗口拖动映射曲线,图像的显示效果ICE窗口f2=imread('D:Picture JLK Magenta.tif');figure,imshow(f2);%在CMYK彩色空间内打开图像选择RedICE窗口g2=ice('image',f2,'space','CMYK');%f2的图像色彩偏红,拖动映射曲线,%调整映射参数,使图像的色彩看起来比较正常。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告一、引言数字图像处理是一门涉及图像获取、图像处理和图像分析的重要学科,广泛应用于计算机科学、电子工程、通信技术等领域。

本报告旨在介绍并总结我所进行的数字图像处理实验,讨论实验的目的、方法、结果和分析。

二、实验目的通过本次实验,旨在掌握和理解数字图像处理的基本原理和常见技术,包括灰度变换、空间域滤波、频域滤波等,以及层次分割、边缘检测和形态学处理等高级应用技术。

三、实验方法1. 寻找合适的图像在实验中,我选用了一张自然风景图像作为处理对象。

这张图像包含丰富的纹理和颜色信息,适合用于多种图像处理方法的验证和比较。

2. 灰度变换灰度变换是数字图像处理中常见的基础操作,可以通过对图像的像素灰度值进行线性或非线性变换,来调整图像的对比度、亮度等特征。

在实验中,我利用线性灰度变换方法将原始彩色图像转换为灰度图像,并进行对比度的调整,观察处理结果的变化。

3. 空间域滤波空间域滤波是一种基于像素邻域的图像处理方法,常用于图像去噪、边缘增强等应用。

我使用了平滑滤波和锐化滤波两种方法,并针对不同的滤波算子和参数进行了实验和比较,评估其对图像细节和边缘保留的影响。

4. 频域滤波频域滤波是一种基于图像的频谱特征的图像处理方法,广泛应用于图像增强、去噪和特征提取等方面。

我利用傅里叶变换将图像从空间域转换到频域,采用理想低通滤波器和巴特沃斯低通滤波器进行图像的模糊处理,并进行了实验对比和分析。

5. 高级应用技术在实验中,我还研究了数字图像处理中的一些高级应用技术,包括层次分割、边缘检测和形态学处理。

通过应用不同的算法和参数,我实现了图像区域分割、提取图像边缘和形态学形状变换等效果,评估处理结果的准确性和稳定性。

四、实验结果与分析通过对以上实验方法的实施,我获得了一系列处理后的图像,并进行了结果的比较和分析。

在灰度变换实验中,我发现线性变换对图像的对比度有较大影响,但对图像的细节变化不敏感;在空间域滤波实验中,平滑滤波可以有效降噪,但会导致图像细节损失,而锐化滤波可以增强图像的边缘效果,但也容易引入噪声;在频域滤波实验中,理想低通滤波对图像的模糊效果明显,而巴特沃斯低通滤波器可以在一定程度上保留图像的高频细节信息;在高级应用技术实验中,边缘检测和形态学处理对提取图像边缘和形状变换非常有效,但参数的选择会对结果产生较大影响。

电子科技大学数字图像处理实验报告2

电子科技大学数字图像处理实验报告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)掌握读、写图像的基本⽅法。

2)掌握MATLAB语⾔中图像数据与信息的读取⽅法。

3)理解图像灰度变换处理在图像增强的作⽤。

4)掌握绘制灰度直⽅图的⽅法,理解灰度直⽅图的灰度变换及均衡化的⽅法。

⼆、实验内容与要求1.熟悉MATLAB语⾔中对图像数据读取,显⽰等基本函数特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。

1)将MATLAB⽬录下work⽂件夹中的forest.tif图像⽂件读出.⽤到imread,imfinfo等⽂件,观察⼀下图像数据,了解⼀下数字图像在MATLAB中的处理就是处理⼀个矩阵。

将这个图像显⽰出来(⽤imshow)。

尝试修改map颜⾊矩阵的值,再将图像显⽰出来,观察图像颜⾊的变化。

2)将MATLAB⽬录下work⽂件夹中的b747.jpg图像⽂件读出,⽤rgb2gray()将其转化为灰度图像,记为变量B。

2.图像灰度变换处理在图像增强的作⽤读⼊不同情况的图像,请⾃⼰编程和调⽤Matlab函数⽤常⽤灰度变换函数对输⼊图像进⾏灰度变换,⽐较相应的处理效果。

3.绘制图像灰度直⽅图的⽅法,对图像进⾏均衡化处理请⾃⼰编程和调⽤Matlab函数完成如下实验。

1)显⽰B的图像及灰度直⽅图,可以发现其灰度值集中在⼀段区域,⽤imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直⽅图与原灰度直⽅图的区别。

2) 对B 进⾏直⽅图均衡化处理,试⽐较与源图的异同。

3) 对B 进⾏如图所⽰的分段线形变换处理,试⽐较与直⽅图均衡化处理的异同。

图1.1 分段线性变换函数三、实验原理与算法分析1. 灰度变换灰度变换是图像增强的⼀种重要⼿段,它常⽤于改变图象的灰度范围及分布,是图象数字化及图象显⽰的重要⼯具。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告一、引言数字图像处理是计算机科学与工程领域中的一个重要研究方向。

通过使用数字化技术,对图像进行采集、传输、存储和处理,可以实现对图像的增强、恢复、分析和识别等功能。

本实验旨在通过对数字图像处理算法的实践应用,探索图像处理的原理和方法。

二、实验目的本实验的主要目的是掌握数字图像处理的基本概念和算法,并通过实际操作加深对图像处理原理的理解。

具体目标包括:1. 学习使用图像处理软件,如Photoshop或Matlab等。

2. 掌握图像增强的方法,如直方图均衡化、滤波和锐化等。

3. 理解图像压缩和编码的原理,如JPEG和PNG等格式。

4. 了解图像分割和边缘检测的基本算法,如阈值分割和Canny边缘检测等。

三、实验过程1. 图像增强图像增强是指通过一系列算法和技术,改善图像的质量和视觉效果。

在实验中,我们可以使用直方图均衡化算法来增强图像的对比度和亮度。

该算法通过将图像的像素值映射到一个更大的范围内,使得图像的亮度分布更加均匀。

2. 图像滤波图像滤波是指通过一系列滤波器对图像进行处理,以实现去噪、平滑和锐化等效果。

在实验中,我们可以使用平滑滤波器(如均值滤波器和高斯滤波器)来去除图像中的噪声。

同时,我们还可以使用锐化滤波器(如拉普拉斯滤波器和Sobel滤波器)来增强图像的边缘和细节。

3. 图像压缩和编码图像压缩是指通过减少图像的数据量来减小图像文件的大小,从而实现存储和传输的效率提升。

在实验中,我们可以使用JPEG和PNG等压缩算法来对图像进行压缩和编码。

JPEG算法通过对图像的频域进行离散余弦变换和量化,实现对图像的有损压缩。

而PNG算法则采用无损压缩的方式,通过对图像的差值编码和哈夫曼编码,实现对图像的高效压缩。

4. 图像分割和边缘检测图像分割是指将图像分成若干个区域,以实现对图像的目标提取和图像分析的目的。

而边缘检测是指通过检测图像中的边缘和轮廓,实现对图像的形状分析和目标识别。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告第一章总论数字图像处理是计算机图形学、数字信号处理等学科交叉的一门学科。

它是基于数字计算机对图像信号进行数字处理的一种方法。

数字图像处理技术已广泛应用于医学影像诊断、遥感图像处理、图像识别、安防监控等领域,在当今社会中具有不可替代的重要作用。

本次实验主要介绍了数字图像处理的基本方法,包括图像采集、图像增强、图像恢复、图像分割、图像压缩等几个方面。

在实验过程中,我们采用了一些常用的数字图像处理方法,并通过 Matlab 图像处理工具箱进行实现和验证。

第二章实验过程2.1 图像采集在数字图像处理中,图像采集是一个重要的步骤。

采集到的图像质量直接影响到后续处理结果的准确性。

本次实验使用的图像是一张 TIF 格式的彩色图像,通过 Matlab 读取图像文件并显示,代码如下:```Matlabim = imread('test.tif');imshow(im);```执行代码后,可以得到如下图所示的图像:![image_1.png](./images/image_1.png)2.2 图像增强图像增强是指利用某些方法使图像具有更好的视觉效果或者变得更适合某种应用。

本次实验我们主要采用直方图均衡化、灰度变换等方法进行图像增强。

2.2.1 直方图均衡化直方图均衡化是一种常用的增强方法,它可以增加图像的对比度和亮度,使图像更加清晰。

代码实现如下:```Matlabim_eq = histeq(im);imshow(im_eq);```执行代码后,会得到直方图均衡化后的图像,如下图所示:![image_2.png](./images/image_2.png)可以看出,经过直方图均衡化处理后,图像的对比度和亮度得到了明显提高。

2.2.2 灰度变换灰度变换是一种用于调整图像灰度级别的方法。

通过变换某些像素的灰度级别,可以增强图像的视觉效果。

本次实验我们采用对数变换和幂函数变换两种方法进行灰度变换。

数字图像处理实验报告

数字图像处理实验报告

目录实验一:数字图像的基本处理操作 (2)1。

1:实验目的 (2)1。

2:实验任务和要求 (2)1.3:实验步骤和结果 (2)1。

4:结果分析 (6)实验二:图像的灰度变换和直方图变换 (7)2.1:实验目的 (7)2.2:实验任务和要求 (7)2。

3:实验步骤和结果 (7)2。

4:结果分析 (11)实验三:图像的平滑处理 (12)3.1:实验目的 (12)3。

2:实验任务和要求 (12)3。

3:实验步骤和结果 (12)3。

4:结果分析 (16)实验四:图像的锐化处理 (17)4.1:实验目的 (17)4.2:实验任务和要求 (17)4。

3:实验步骤和结果 (17)4.4:结果分析 (19)实验一:数字图像的基本处理操作1.1:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。

3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。

1。

2:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。

2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题.3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。

4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。

1.3:实验步骤和结果1.对实验任务1的实现代码如下:a=imread(’d:\tp.jpg’);i=rgb2gray(a);I=im2bw(a,0。

5);subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title(’灰度图像’);subplot(1,3,3);imshow(I);title('二值图像’);subplot(1,3,1);imshow(a);title('原图像');结果如图1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.3实验步骤(1)对彩色图像的表达和显示* * * * * * * * * * * *显示彩色立方体* * * * * * * * * * * * * rgbcube(0,0,10); %从正面观察彩色立方体rgbcube(10,0,10); %从侧面观察彩色立方rgbcube(10,10,10); %从对角线观察彩色立方体%* * * * * * * * * *索引图像的显示和转换* * * * * * * * * * f=imread('D:\Picture\Fig0604(a)(iris).tif');figure,imshow(f);%f是RGB真彩图像%rgb图像转换成8色索引图像,不采用抖动方式[X1,map1]=rgb2ind(f,8,'nodither');figure,imshow(X1,map1);%采用抖动方式转换到8色索引图像[X2,map2]=rgb2ind(f,8,'dither');figure,imshow(X2,map2); %显示效果要好一些g=rgb2gray(f); %f转换为灰度图像g1=dither(g);%将灰色图像经过抖动处理,转换打二值图像figure,imshow(g);%显示灰度图像figure,imshow(g1);%显示抖动处理后的二值图像程序运行结果:彩色立方体原图不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像灰度图像抖动处理后的二值图像(2)彩色空间转换f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像%转换到NTSC彩色空间ntsc_image=rgb2ntsc(f);figure,imshow(ntsc_image(:,:,1));%显示亮度信息figure,imshow(ntsc_image(:,:,2));%显示色差信息figure,imshow(ntsc_image(:,:,3));%显示色差信息%转换到HIS彩色空间hsi_image=rgb2hsi(f);figure,imshow(hsi_image(:,:,1));%显示色度信息figure,imshow(hsi_image(:,:,2)); %显示饱和度信息figure,imshow(hsi_image(:,:,3));%显示亮度信息程序运行结果:原图转换到NTSC彩色空间显示亮度信息显示色差信息显示色差信息转换到HIS彩色空间显示色差信息显示饱和度信显示亮度信息(3)彩色变换f=imread('D:\Picture\Fig0614(a)(Chalk Original).tif'); G=ice('image',f); %打开ice窗口对图像进行调整%在窗口中执行以下操作:%a)得到图像的补色%b)拖动映射曲线,对图像显示效果进行修改%c)在颜色通道中选中某一颜色,然后对映射曲线进行修改程序运行结果(1):全彩色图片ICE窗口它的补色ICE窗口拖动映射曲线,图像的显示效果ICE窗口选择Red ICE窗口f2=imread('D:\Picture\ JLK Magenta.tif');figure,imshow(f2);%在CMYK彩色空间内打开图像g2=ice('image',f2,'space','CMYK');%f2的图像色彩偏红,拖动映射曲线,%调整映射参数,使图像的色彩看起来比较正常。

程序运行结果(2)原图在CMYK彩色空间内打开图像调整映射参数后ICE窗口(4)彩色空间滤波%* * * * * * * * * * * * * * * * * * * * 彩色图像平滑* * * * * * * * * * * * * * * * * * * * * * fc=imread('D:\Picture\Fig0604(a)(iris).tif');figure,imshow(fc);h=rgb2hsi(fc); %转换到HIS彩色空间H=h(:,:,1); %色度分量S=h(:,:,2); %饱和度分量I=h(:,:,3); %亮度分量w=fspecial('average',25); %25×25的方形平滑算子I_filtered=imfilter(I,w,'replicate'); %对亮度分量进行平滑操作H1=cat(3,H,S,I_filtered); %将H、S、I三个分量重新组合起来f=hsi2rgb(H1); %转换到RGB彩色空间f=min(f,1); %f的值控制在[0,1]之间figure,imshow(f); %彩色图像平滑处理%* * * **** * * * * * * * * * * * * 彩色图像锐化* * * * * * * * * * * * * * * * * * * * * * fb=imread(' D:\Picture\Fig0604(a)(iris).tif'); lapmask=[1 1 1;1 -8 1;1 1 1]; %拉普拉斯算子g=imfilter(fb,lapmask,'replicate'); %拉普拉斯算子处理figure,imshow(g);%图像锐化后与原图像相减fen=imsubtract(fb,g);figure,imshow(fen); %显示差值图像程序运行结果:原图彩色图像平滑处理拉普拉斯算子处理锐化处理(5)彩色图像分割%* * * * * * * * * * * * * * * * * 彩色边缘检测* * * * * * * * * * * *close all;clear;clc;f=imread('iris.tif'); %f如图6-4所示%直接计算彩色边缘VG,并得到对单独彩色平面的二维梯度求和形成的梯度PPG [VG,A,PPG]=colorgrad(f);figure,imshow(VG,[ ]); %显示彩色梯度图像figure,imshow(A,[ ]); %显示彩色梯度对应的角度图像figure,imshow(PPG,[ ]); %显示分量梯度图像g=VG-PPG; %计算两种梯度方法得到的梯度之差figure,imshow(g,[ ]); %显示差值图像程序运行结果:彩色梯度图像彩色梯度对应的角度图像分量梯度图像两种梯度差值图像%* * * * * * * * * * * * * * * * * 彩色图像分割* * * * * * * * * * * * * * * * * * * * * * * * * f=imread('jupitermoon.tif');%f如图6-4所示mask=roipoly(f); %手工选定图中红色区域%取得选定区域图像的红色分量R=immultiply(mask,f(:,:,1));%取得选定区域图像的绿色分量G=immultiply(mask,f(:,:,2));%取得选定区域图像的蓝色分量B=immultiply(mask,f(:,:,3));g=cat(3,R,G,B); %取得选定区域的RGB图像figure,imshow(g); %显示取得选定区域[M,N,K]=size(g); %选定区域的大小I=reshape(g,M*N,3); %对g中的像素进行重排,按列序拉成一行idx=find(mask); %找到mask中的像素在重排后的图像g中位置I=double(I(idx,1:3)); %转换到double类型[C,m]=covmatrix(I); %计算协方差矩阵C主对角线上的元素,即方差%>>sd=sqrt(d)%求得这些元素的平方根,即均方差均方差%用欧式距离对图像进行彩色分割,阈值为25E25=colorseg('euclidean',f,25,m);E251=f;E251(E25==0)=0figure,imshow(E251,[]);%用马氏距离对图像进行彩色分割,阈值为25M25=colorseg('mahalanobis',f,25,m,C); figure , imshow(M25 , [ ]);程序运行结果:原图选定区域欧氏距离彩色分割马氏距离彩色分割6.4 思考题(1)请将图6-1所示的彩色图像转换到灰度图像,并根据灰度值对此灰度图像进行索引化,手工指定索引表中的RGB值,并把此索引图像显示出来。

程序代码如下%思路:把原图想转换为128位索引图close all;clear;clc;%将f从灰度图像转换为索引图像,x是索引图像;%map是索引矩阵,R,G,B的值都相等f=imread('D:\Picture\RGB_iris.tif');figure,imshow(f); % f是RGB图像f1=rgb2gray(f); %将f转换成灰度图像figure,imshow(f1);[x,map]=gray2ind(f1,128); %把灰度图像转化成128位的索引图figure,imshow(x);%将map中的值做下面改变则R,G,B的值不相等,产生彩色map(1,:)=0.5;map(: ,1)=0.5;map(2,:)=0.4;map(1,1)=0;figure,imshow(f1,map);程序运行结果:原RGB图像灰度图像索引图修改索引表后的图像(2)6.3节的(4)是将图像转换到HIS空间后再对亮度分量进行平滑操作,试直接对原图像的RGB三个分量分别进行平滑操作,并计算两种操作方法的图像差值。

程序代码如下:f=imread('D:\Picture\RGB_iris.tif');figure,imshow(f);%直接对原图像的RGB三个分量分别进行平滑操作H=f(:,:,1); %色度分量S=f(:,:,2); %饱和度分量I=f(:,:,3); %亮度分量w=fspecial('average',25); %25×25的方形平滑算子H_filtered=imfilter(H,w,'replicate'); %对色度分量进行平滑操作S_filtered=imfilter(S,w,'replicate'); %对饱和度分量进行平滑操作I_filtered=imfilter(I,w,'replicate'); %对亮度分量进行平滑操作%将H、S、I三个分量重新组合起来Ha=cat(3,H_filtered,S_filtered,I_filtered);Ha=im2double(Ha); %转化成double类型figure,imshow(Ha);%转换到HIS彩色空间h=rgb2hsi(f); %转换到HIS彩色空间H=h(:,:,1); %色度分量S=h(:,:,2); %饱和度分量I=h(:,:,3); %亮度分量w=fspecial('average',25); %25×25的方形平滑算子I_filtered=imfilter(I,w,'replicate'); %对亮度分量进行平滑操作%将H、S、I三个分量重新组合起来H1=cat(3,H,S,I_filtered);fb=hsi2rgb(H1); %转换到RGB彩色空间fb=min(fb,1); % f的值控制在[0,1]之间figure,imshow(fb); %彩色图像平滑处理fen=imsubtract(Ha,fb); %计算两中方式处理后图像的差值figure,imshow(fen);程序运行结果:原图直接对RGB三分量进行平滑操作转换到HIS空间对亮度进行平滑操作差值图像试验中的问题和心得体会:本次实验是彩色图像处理。

相关文档
最新文档