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

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

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)%求得这些元素的平方根,即均方差

均方差

%用欧式距离对图像进行彩色分割,阈值为25

E25=colorseg('euclidean',f,25,m);

E251=f;

E251(E25==0)=0

figure,imshow(E251,[]);

%用马氏距离对图像进行彩色分割,阈值为25

M25=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空间对亮度进行平滑操作

差值图像

试验中的问题和心得体会:

本次实验是彩色图像处理。

(1)通过这个实验我了解了RGB图像以及索引图像在MATLAB

中的存储和询问方式

(2)了解RGB空间到其他彩色空间的转换方式和转换方法

(3)知道了一些彩色图像的空间滤波方法

(4)了解在RGB向量空间中检测彩色边缘的方法

(5)了解在RGB向量空间中对图像进行分割的方法

遇到的问题:在做思考题(2)的时候,计算两种平滑处理的得到图像的差值的中程序出现了问题,经过看出错信息,认真检查程序后,发现是因为直接平滑处理的图像是unit8类型的,而转换到HIS空间后,得到的图像是double类型,二者的类型不

同,导致使用imsubtract函数的时候出现了问题。感觉做matlab的实验和平时编写C代码的时候有很多地方是相同的,都会经历:编码,debug,正确这三个过程,这个过程本身就具有挑战性和趣味性。

数字图像处理实验1

实验一 实验内容和步骤 练习图像的读取、显示和保存图像数据,步骤如下: (1)使用命令figure(1)开辟一个显示窗口 (2)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内显示、二值图像和灰度图像,注上文字标题。 (3)保存转换后的灰度图像和二值图像 (4)在同一个窗口显示转换后的灰度图像的直方图 I=imread('BaboonRGB.bmp'); figure,imshow(I); I_gray=rgb2gray(I); figure,imshow(I_gray); I_2bw=Im2bw(I_gray); figure,imshow(I_2bw); subplot(1,3,1),imshow(I),title('RGB图像'); subplot(1,3,2),imshow(I_gray),title('灰度图像'); subplot(1,3,3),imshow(I_2bw),title('二值图像'); imwrite(I_gray,'Baboongray.png'); imwrite(I_2bw,'Baboon2bw.tif'); figure;imhist(I_gray);

RGB 图 像灰度图 像二值图 像 050100150200250 500 1000 1500 2000 2500 3000

(5)将原RGB 图像的R 、G 、B 三个分量图像显示在figure(2)中,观察对比它们的特点,体会不同颜色所对应的R 、G 、B 分量的不同之处。 [A_RGB,MAP]=imread('BaboonRGB.bmp'); subplot(2,2,1),imshow(A_RGB),title('RGB'); subplot(2,2,2),imshow(A_RGB(:,:,1)),title('R'); subplot(2,2,3),imshow(A_RGB(:,:,2)),title('G'); subplot(2,2,4),imshow(A_RGB(:,:,3)),title('B'); (6)将图像放大1.5倍,插值方法使用三种不同方法,在figure(3)中显示放大后的图像,比较不同插值方法的结果有什么不同。将图像放大到其它倍数,重复实验;A=imread('BaboonRGB.bmp'); figure(3),imshow(A),title('原图像'); B=imresize(A,1.5,'nearest'); figure(4),imshow(B),title('最邻近法') C=imresize(A,1.5,'bilinear'); ; figure(5),imshow(C),title('双线性插值'); D=imresize(A,1.5,'bicubic'); figure(6),imshow(D),title('双三次插值 '); RGB R G B

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

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彩色空间

数字图像处理 课程设计报告

数字图像处理 课程设计报告 姓名: 学号: 班级: 设计题目:图像处理 教师:赵哲老师 提交日期: 12月29日

一、设计内容: 主题:《图像处理》 详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等), 二、涉及知识内容: 1、二值化 2、各种滤波 3、算法等 三、设计流程图 四、实例分析及截图效果: 运行效果截图: 第一步:读取原图,并显示 close all;clear;clc; % 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all I=imread(''); % 插入图片赋给I imshow(I);% 输出图I I1=rgb2gray(I);%图片变灰度图 figure%新建窗口 subplot(321);% 3行2列第一幅图 imhist(I1);%输出图片

title('原图直方图');%图片名称 一,图像处理模糊 H=fspecial('motion',40); %% 滤波算子模糊程度40 motion运动 q=imfilter(I,H,'replicate');%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制q1=rgb2gray(q); imhist(q1); title('模糊图直方图'); 二,图像处理锐化 H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的 qq=imfilter(I,H,'replicate'); qq1=rgb2gray(qq); imhist(qq1); title('锐化图直方图'); 三,图像处理浮雕(来源网络) %浮雕图 l=imread(''); f0=rgb2gray(l);%变灰度图 f1=imnoise(f0,'speckle',; %高斯噪声加入密度为的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点 f1=im2double(f1);%把图像数据类型转换为双精度浮点类型 h3=1/9.*[1 1 1;1 1 1;1 1 1]; %采用h3对图像f2进行卷积滤波 f4=conv2(f1,h3,'same'); %进行sobel滤波 h2=fspecial('sobel'); g3=filter2(h2,f1,'same');%卷积和多项式相乘 same相同的 k=mat2gray(g3);% 实现图像矩阵的归一化操作 四,图像处理素描(来源网络) f=imread(''); [VG,A,PPG] = colorgrad(f); ppg = im2uint8(PPG); ppgf = 255 - ppg; [M,N] = size(ppgf);T=200; ppgf1 = zeros(M,N); for ii = 1:M for jj = 1:N if ppgf(ii,jj)

数字图像处理四个实验报告,带有源程序

数字图像处理 实验指导书 学院:通信与电子工程学院 专业:电子信息工程 班级: 学号: 姓名: XX理工大学

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: 亮度图像(Intensity images) 二值图像(Binary images) 索引图像(Indexed images) RGB图像(RGB images)

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 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) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 r L s --=1 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围, 如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换: s = c log(1 + r ),c 为常数,r ≥ 0 3) 幂次变换: 0,0,≥≥=γγc cr s 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

数字图像处理知

数字图像处理知识点总结

数字图像处理知识点总结 第一章导论 1.图像:对客观对象的一种相似性的生动性的描述或写真。 2.图像分类:按可见性(可见图像、不可见图像),按波段数(单波段、多波段、超波段), 按空间坐标和亮度的连续性(模拟和数字)。3.图像处理:对图像进行一系列操作,以到达预期目的的技术。 4.图像处理三个层次:狭义图像处理、图像分析和图像理解。 5.图像处理五个模块:采集、显示、存储、通信、处理和分析。 第二章数字图像处理的基本概念 6.模拟图像的表示:f(x,y)=i(x,y)×r(x,y),照度分量0

称为采样。采样间隔和采样孔径的大小是两个 很重要的参数。采样方式:有缝、无缝和重叠。 9.将像素灰度转换成离散的整数值的过程叫量化。 10.表示像素明暗程度的整数称为像素的灰度级(或灰度值或灰度)。 11.数字图像根据灰度级数的差异可分为:黑白图像、灰度图像和彩色图像。 12.采样间隔对图像质量的影响:一般来说,采样间隔越大,所得图像像素数越少,空间分 辨率低,质量差,严重时出现像素呈块状的国际棋盘效应;采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大。13.量化等级对图像质量的影响:量化等级越多,所得图像层次越丰富,灰度分辨率高,图 像质量好,但数据量大;量化等级越少,图像层次欠丰富,灰度分辨率低,会出现假轮廓现象,图像质量变差,但数据量小。但在极少数情况下对固定图像大小时,减少灰度级能改善质量,产生这种情况的最可能原因是减少灰度级一般会增加图像的对比度。例如对细节比较丰富的图像数字化。

武汉科技大学 数字图像处理实验报告

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(DB)1102班姓名 学号: 课程名称:数字图像处理 二○一四年十一月一日

实验一图像直方图处理及灰度变换(2学时) 实验目的: 1. 掌握读、写、显示图像的基本方法。 2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。 3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。 实验内容: 1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。 2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。 3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。 实验步骤: 1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图: I1=imread('pic.jpg'); %读取图像 I2=rgb2gray(I1); %将彩色图变成灰度图 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('灰度图'); subplot(3,2,4); imhist(I2); %统计直方图 title('统计直方图'); subplot(3,2,5); J=histeq(I2); %直方图均衡 imshow(J); title('直方图均衡'); subplot(3,2,6); imhist(J); title('统计直方图');

原 图 灰度图 01000 2000 3000统计直方图 100200直方图均衡 0统计直方图 100200 仿真分析: 将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。从直方图上反应,暗部到亮部像素分布更加均匀。 2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png'); I2=im2bw(I1,0.5); %选取阈值为0.5 I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('阈值变换'); subplot(3,2,5); imshow(I3); title('灰度调整'); subplot(3,2,2); imhist(I1); title('统计直方图'); subplot(3,2,4);

数字图像处理实验指导书模板

《数字图像处理》实验指导书 编写: 罗建军 海南大学三亚学院 10月

目录 一、概述 ....................................................................... 错误!未定义书签。 二、建立程序框架 ....................................................... 错误!未定义书签。 三、建立图像类 ........................................................... 错误!未定义书签。 四、定义图像文档实现图像读/写.............................. 错误!未定义书签。 五、实现图像显示 ....................................................... 错误!未定义书签。 六、建立图像处理类................................................... 错误!未定义书签。 七、实现颜色处理功能............................................... 错误!未定义书签。 (一) 亮度处理................................................................. 错误!未定义书签。 (二) 对比度处理............................................................. 错误!未定义书签。 (三) 色阶处理................................................................. 错误!未定义书签。 (四) 伽马变换................................................................. 错误!未定义书签。 (五) 饱和度处理............................................................. 错误!未定义书签。 (六) 色调处理................................................................. 错误!未定义书签。 八、实现几何变换功能............................................... 错误!未定义书签。 (一) 图像缩放................................................................. 错误!未定义书签。 (二) 旋转......................................................................... 错误!未定义书签。 (三) 水平镜像................................................................. 错误!未定义书签。 (四) 垂直镜像................................................................. 错误!未定义书签。 (五) 右转90度................................................................. 错误!未定义书签。 (六) 左转90度................................................................. 错误!未定义书签。 (七) 旋转180度............................................................... 错误!未定义书签。 九、实现平滑锐化功能............................................... 错误!未定义书签。 十、图像处理扩展编程............................................... 错误!未定义书签。

数字图像处理实验 实验二

实验二MATLAB图像运算一、实验目的 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 二、实验步骤 1.图像的加法运算-imadd 对于两个图像f x,y和 (x,y)的均值有: g x,y=1 f x,y+ 1 (x,y) 推广这个公式为: g x,y=αf x,y+β (x,y) 其中,α+β=1。这样就可以得到各种图像合成的效果,也可以用于两张图像的衔接。说明:两个示例图像保存在默认路径下,文件名分别为'rice.png'和'cameraman.tif',要求实现下图所示结果。 代码: I1 = imread('rice.png'); I2 = imread('cameraman.tif'); I3 = imadd(I1, I2,'uint8'); I4 = imadd(I1, I2,'uint16'); subplot(2, 2, 1), imshow(I1), title('?-ê?í???1'); subplot(2, 2, 2), imshow(I2), title('?-ê?í???2'); subplot(2, 2, 3), imshow(I3), title('8??í?????ê?'); subplot(2, 2, 4), imshow(I4), title('16??í?????ê?'); 结果截图:

2.图像的减法运算-imsubtract 说明: 背景图像可通过膨胀算法得到background = imopen(I,strel('disk',15));,要求实现下图所示结果。 示例代码如下: I1 = imread('rice.png'); background = imerode(I1, strel('disk', 15)); rice2 = imsubtract(I1, background); subplot(2, 2, 1), imshow(I1), title('?-ê?í???'); subplot(2, 2, 2), imshow(background), title('±3?°í???'); subplot(2, 2, 3), imshow(rice2), title('′|àíoóμ?í???'); 结果截图: 3.图像的乘法运算-immultiply

数字图像处理技术应用课程报告

集中稀疏表示的图像恢复 董伟胜中国西安电子科技大学电子工程学院wsdong@https://www.360docs.net/doc/1e1479429.html, 张磊香港理工大学计算机系cslzhang@https://www.360docs.net/doc/1e1479429.html,.hk 石光明中国西安电子科技大学电子工程学院gmshi@https://www.360docs.net/doc/1e1479429.html, 摘要 本文对于图像恢复任务提出了一种新的称为集中稀疏表示(CSR)的稀疏表示模型。为了重建高还原度的图像,通过给定的字典,退化图像的稀疏编码系数预计应该尽可能接近那些未知的原始图像。然而,由于可用的数据是原始图像的退化版本(如噪声、模糊和/或者低采样率),正如许多现有的稀疏表示模型一样,如果只考虑局部的稀疏图像,稀疏编码系数往往不够准确。为了使稀疏编码更加准确,通过利用非局部图像统计,引入一个集中的稀疏性约束。为了优化,局部稀疏和非局部稀疏统一到一个变化的框架内。大量的图像恢复实验验证了我们的CSR模型在以前最先进的方法之上取得了令人信服的改进。 1、介绍 图像恢复(IR)目的是为了从,比如说通过一个低端摄像头或者在有限条件下得到图像的图像退化版本(例如噪声、模糊和/或者低采样率),来恢复一副高质量的图像。对于观察的图像y,IR问题可以表示成: y = Hx + v (1) 其中H是一个退化矩阵,x是原始图像的矢量,v是噪声矢量。由于IR的病态特性,尝试把观察模型和所需解决方案的先验知识合并到一个变分公式的正则化技术,已经被广泛地研究。对于正则方法,对自然图像适当的先验知识进行寻找和建模是最重要的关注点之一,因此学习自然图像先验知识的各种方法已经被提出来了【25,5,6,12】。 近年来,对于图像恢复基于建模的稀疏表示已经被证明是一种很有前途的模型【9,5,13,20,16,21,27,15,14】。在人类视觉系统【23,24】的研究中,已经发现细胞感受区域使用少量的从一个超完备的编码集中稀疏选出的结构化基元来编码自然图像。在数学上,一个x ∈ R N的信号可以表示为一个字典Φ中的几个原子的线性组合,例如,X ≈Φα,用|0 最小化:

数字图像处理程序

数字图像处理程序

数字图像处理实验 图像处理实验(一)直方图 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特 征更加明显。 灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像 增强。 1、灰度直方图 (1)计算出一幅灰度图像的直方图 clear close all I=imread('004.bmp'); imhist(I) title('实验一(1)直方图'); (2)对灰度图像进行简单的灰度线形变换, figure subplot(2,2,1) imshow(I); title('试验2-灰度线性变换'); subplot(2,2,2) histeq(I); (3)看其直方图的对应变化和图像对比度的变化。 原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a’,b’]公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a) figure subplot(2,2,1) imshow(I) J=imadjust(I,[0.3,0.7],[0,1],1); title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)进行变换 '); subplot(2,2,2) imshow(J) subplot(2,2,3) imshow(I) J=imadjust(I,[0.5 0.8],[0,1],1); subplot(2,2,4) imshow(J) (4) 图像二值化(选取一个域值,(5) 将图像变为黑白图像) figure subplot(2,2,1)

2013数字图像处理课程设计报告

数字图像处理 课程设计报告 课设题目:彩色图像增强软件学院:信息科学与工程学院专业:电子与信息工程 班级: 1002501 姓名:曾小路 学号: 100250131 指导教师:赵占峰 哈尔滨工业大学(威海) 2013 年12月27日

目录 目录 .......................................................................................................................... I 一. 课程设计任务 (1) 二. 课程设计原理及设计方案 (2) 2.1 彩色图像基础 (2) 2.2 彩色模型 (2) 三. 课程设计的步骤和结果 (6) 3.1 采集图像 (6) 3.2 图像增强 (7) 3.3 界面设计 (9) 四. 课程设计总结 (12) 五. 设计体会 (13) 六. 参考文献 (14)

哈尔滨工业大学(威海)课程设计报告 一. 课程设计任务 1.1设计内容及要求: (1)、独立设计方案,根据所学知识,对由于曝光过度、光圈过小或图像亮度不均匀等情况下的彩色图像进行增强,提高图像的清晰度(通俗地讲,就是图像看起来干净、对比度高、颜色鲜艳)。 (2)、参考photoshop 软件,设计软件界面,对处理前后的图像以及直方图等进行对比显示; (3)、将实验结果与处理前的图像进行比较、分析。总结设计过程所遇到的问题。 1.2参考方案 1、实现图像处理的基本操作 学习使用matlab 图像处理工具箱,利用imread()语句读入图像,例如image=imread(flower.jpg),利用彩色图像模型转换公式,将RGB 类型图像转换为HSI 类型图像,显示各分量图像(如imshow(image)),以及计算和显示各分量图像直方图。 2、彩色图像增强实现 对HSI彩色模型图像的I分量进行对比度拉伸或直方图均衡化等处理,提高亮度图像的对比度。对S分量图像进行适当调整,使图像色彩鲜艳或柔和。 H 分量保持不变。将处理后的图像转换成RGB 类型图像,并进行显示。分析处理图像过程和结果存在的问题。 3、参照“photoshop”软件,设计图像处理软件界面 可设计菜单式界面,在功能较少的情况下,也可以设计按键式界面,视 功能多少而定;参考matlab 软件中GUI 设计,学习软件界面的设计 - 1 -

数字图像处理实验报告

数字图像处理实验报告

实验一数字图像处理编程基础 一、实验目的 1. 了解MA TLAB图像处理工具箱; 2. 掌握MA TLAB的基本应用方法; 3. 掌握MA TLAB图像存储/图像数据类型/图像类型; 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); 四、实验效果

数字图像处理实验

《数字图像处理》 实验报告 学院:信息工程学院 专业:电子信息工程 学号: 姓名: 2015年6月18日

目录 实验一图像的读取、存储和显示 (2) 实验二图像直方图分析 (6) 实验三图像的滤波及增强 (15) 实验四噪声图像的复原 (19) 实验五图像的分割与边缘提取 (23) 附录1MATLAB简介 (27)

实验一图像的读取、存储和显示 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像的显示。 二、实验原理 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 三、实验设备 (1) PC计算机 (2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox) (3) 实验所需要的图片 四、实验内容及步骤 1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像; 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件设为flower.jpg语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。 6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。 7.用imread()读入图像:Lenna.jpg 和camema.jpg; 8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;

数字图像处理课程设计报告

课程设计报告书课程名称:数字图像处理 题目:数字图像处理的傅里叶变换 学生姓名: 专业:计算机科学与技术 班别:计科本101班 学号: 指导老师: 日期: 2013 年 06 月 20 日

数字图像处理的傅里叶变换 1.课程设计目的和意义 (1)了解图像变换的意义和手段 (2)熟悉傅里叶变换的基本性质 (3)热练掌握FFT的方法反应用 (4)通过本实验掌握利用MATLAB编程实现数字图像的傅里叶变换 通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养综合设计能力。 2.课程设计内容 (1)熟悉并掌握傅立叶变换 (2)了解傅立叶变换在图像处理中的应用 (3)通过实验了解二维频谱的分布特点 (4)用MATLAB实现傅立叶变换仿真 3.课程设计背景与基本原理 傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。 3.1课程设计背景 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 3.2 傅里叶变换 (1)应用傅里叶变换进行数字图像处理 数字图像处理(digital image processing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。 20世纪20年代,图像处理首次得到应用。20世纪60年代中期,随电子计算机的发展得到普遍应用。60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。数字图像处理主要研究以下内容:傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。随着技术的发展,数字图像处理主要应用于通讯技术、宇宙探索遥感技术和生物工程等领域。

数字图像处理实验

学院计算机与通信工程学院专业生物医学工程专业 班级51111 学号5111133 姓名杨静 指导教师贾朔 2014年04月21日

实验一图像的基本运算 一、实验目的: 1、掌握图像处理中的点运算、代数运算、逻辑运算和几何运算及应用。 2、掌握各种运算对于图像处理中的效果。 二、实验内容: 1、(1)选择一幅图像lena8.jpg,设置输入/输出变换的灰度级范围,a=0.2,b=0.6,c=0.1,d=0.9. (2)设置非线性扩展函数的参数c=2. (3)采用灰度级倒置变换函数s=255-r进行图像变换 (4)设置二值化图像的阈值,分别为level=0.4,level=0.7 解:参考程序如下: I=imread('C:\lena8.jpg'); figure; subplot(2,3,1); imshow(I); title('原图'); J=imadjust(I,[0.3;0.6],[0.1;0.9]); %设置灰度变换的范围 subplot(2,3,2); imshow(J); title('线性扩展'); I1=double(I); %将图像转换为double类型 I2=I1/255; %归一化此图像 C=2; K=C*log(1+I2); %求图像的对数变换 subplot(2,3,3); imshow(K); title('非线性扩展'); M=im2bw(I,0.5); M=~M; %M=255-I; %将此图像取反 %Figure subplot(2,3,4); imshow(M); title('灰度倒置'); N1=im2bw(I,0.4); %将此图像二值化,阈值为0.4 N2=im2bw(I,0.7); %将此图像二值化,阈值为0.7 subplot(2,3,5); imshow(N1); title('二值化阈值0.4'); subplot(2,3,6); imshow(N2); title('二值化阈值0.7');

数字图像处理实验一

数字图像处理—实验一 一.实验内容: 图像灰度变换 二.实验目的: 学会用Matlab软件对图像灰度进行变换;感受各种不同的灰度变换方法对最终图像效果的影响。 三.实验步骤: 1.获取实验用图像:rice.jpg. 使用imread函数将图像读入Matlab。 程序: clc;clear; figure; subplot(4,4,1); i = imread('rice.png'); i = im2double(i); imshow(i);title('1'); 2.产生灰度变换函数T1,使得: 0.3r r < 0.35 s = 0.105 + 2.6333(r – 0.35) 0.35 ≤r ≤0.65

1 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg进行处理,使用imwrite函数保存处理后的新图像。程序: subplot(4,4,2); r=[0:0.001:1]; s=[r<0.35].*r*0.3+[r<=0.65].*[r>=0.35].*(0.105+2.6333*(r-0.35))+[r>0.65].*(1 +0.3*(r-1)); plot(r,s);title('2p'); subplot(4,4,3); T1=[i<0.35].*i*0.3+[i<=0.65].*[i>=0.35].*(0.105+2.6333*(i-0.35))+[i>0.65].*( 1+0.3*(i-1)); imshow(T1);title('2i'); imwrite(T1,'rice_T1.jpg','jpg');

3.产生灰度变换函数T2,使得: 用T2对原图像rice.jpg进行处理,使用imwrite保存处理后的新图像。 %3 subplot(4,4,4); r = [0:0.001:1];

数字图像处理之彩色图像的处理

实验六彩色图像的处理 一、实验目的 1、掌握matlab中RGB图像与索引图像、灰度级图像之间转换函数。 2、了解RGB图像与不同颜色空间之间的转换。 3、掌握彩色图像的直方图处理方法。 二、实验内容及步骤 1、RGB图像与索引图像、灰度级图像的转换。 close all RGB=imread('flowers.tif'); [R_i,map]=rgb2ind(RGB,8);%RGB图像转换为8色的索引图像 figure imshow(R_i,map) [R_g]=rgb2gray(RGB);%RGB图像转换为灰度级图像 figure imshow(R_g)

思考: 将RGB 图像’flowers.tif ’分别转换为32色、256色、1024色索引图像,是否调色板所表示的颜色值越多图像越好? close all

RGB=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 all

相关文档
最新文档