数字图像处理彩色图像实验报告Word格式文档下载.docx

上传人:b****6 文档编号:21176286 上传时间:2023-01-28 格式:DOCX 页数:22 大小:8.57MB
下载 相关 举报
数字图像处理彩色图像实验报告Word格式文档下载.docx_第1页
第1页 / 共22页
数字图像处理彩色图像实验报告Word格式文档下载.docx_第2页
第2页 / 共22页
数字图像处理彩色图像实验报告Word格式文档下载.docx_第3页
第3页 / 共22页
数字图像处理彩色图像实验报告Word格式文档下载.docx_第4页
第4页 / 共22页
数字图像处理彩色图像实验报告Word格式文档下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数字图像处理彩色图像实验报告Word格式文档下载.docx

《数字图像处理彩色图像实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数字图像处理彩色图像实验报告Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。

数字图像处理彩色图像实验报告Word格式文档下载.docx

%显示效果要好一些

g=rgb2gray(f);

%f转换为灰度图像

g1=dither(g);

%将灰色图像经过抖动处理,转换打二值图像

figure,imshow(g);

%显示灰度图像

figure,imshow(g1);

%显示抖动处理后的二值图像

程序运行结果:

彩色立方体原图

不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像

灰度图像抖动处理后的二值图像

(2)彩色空间转换

%f是RGB真彩图像

%转换到NTSC彩色空间

ntsc_image=rgb2ntsc(f);

figure,imshow(ntsc_image(:

:

1));

%显示亮度信息

2));

%显示色差信息

3));

%转换到HIS彩色空间

hsi_image=rgb2hsi(f);

figure,imshow(hsi_image(:

%显示色度信息

%显示饱和度信息

%显示亮度信息

原图

转换到NTSC彩色空间

显示亮度信息显示色差信息显示色差信息

转换到HIS彩色空间

显示色差信息显示饱和度信显示亮度信息

(3)彩色变换

\Picture\Fig0614(a)(ChalkOriginal).tif'

G=ice('

image'

f);

%打开ice窗口对图像进行调整

%在窗口中执行以下操作:

%a)得到图像的补色

%b)拖动映射曲线,对图像显示效果进行修改

%c)在颜色通道中选中某一颜色,然后对映射曲线进行修改

程序运行结果

(1):

全彩色图片ICE窗口

它的补色ICE窗口

拖动映射曲线,图像的显示效果ICE窗口

选择RedICE窗口

f2=imread('

\Picture\JLKMagenta.tif'

figure,imshow(f2);

%在CMYK彩色空间打开图像

g2=ice('

f2,'

space'

'

CMYK'

%f2的图像色彩偏红,拖动映射曲线,

%调整映射参数,使图像的色彩看起来比较正常。

程序运行结果

(2)

原图在CMYK彩色空间打开图像

调整映射参数后ICE窗口

(4)彩色空间滤波

%********************彩色图像平滑**********************

fc=imread('

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]之间

%彩色图像平滑处理

%*******************彩色图像锐化**********************

fb=imread('

D:

lapmask=[111;

1-81;

111];

%拉普拉斯算子

g=imfilter(fb,lapmask,'

%拉普拉斯算子处理

%图像锐化后与原图像相减

fen=imsubtract(fb,g);

figure,imshow(fen);

%显示差值图像

原图彩色图像平滑处理

拉普拉斯算子处理锐化处理

(5)彩色图像分割

%*****************彩色边缘检测************

closeall;

clear;

clc;

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,[]);

%显示差值图像

彩色梯度图像彩色梯度对应的角度图像

分量梯度图像两种梯度差值图像

%*****************彩色图像分割*************************

jupitermoon.tif'

%f如图6-4所示

mask=roipoly(f);

%手工选定图中红色区域

%取得选定区域图像的红色分量

R=immultiply(mask,f(:

%取得选定区域图像的绿色分量

G=immultiply(mask,f(:

%取得选定区域图像的蓝色分量

B=immultiply(mask,f(:

g=cat(3,R,G,B);

%取得选定区域的RGB图像

%显示取得选定区域

[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位索引图

%将f从灰度图像转换为索引图像,x是索引图像;

%map是索引矩阵,R,G,B的值都相等

\Picture\RGB_iris.tif'

%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三个分量分别进行平滑操作,并计算两种操作方法的图像差值。

程序代码如下:

%直接对原图像的RGB三个分量分别进行平滑操作

H=f(:

%色度分量

S=f(:

%饱和度分量

I=f(:

%亮度分量

H_filtered=imfilter(H,w,'

%对色度分量进行平滑操作

S_filtered=imfilter(S,w,'

%对饱和度分量进行平滑操作

%对亮度分量进行平滑操作

%将H、S、I三个分量重新组合起来

Ha=cat(3,H_filtered,S_filtered,I_filtered);

Ha=im2double(Ha);

%转化成double类型

figure,imshow(Ha);

h=rgb2hsi(f);

%转换到HIS彩色空间

%饱和度分量

%亮度分量

%25×

fb=hsi2rgb(H1);

fb=min(fb,1);

%f的值控制在[0,1]之间

figure,imshow(fb);

fen=imsubtract(Ha,fb);

%计算两中方式处理后图像的差值

原图

直接对RGB三分量进行平滑操作转换到HIS空间对亮度进行平滑操作

差值图像

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

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

(1)通过这个实验我了解了RGB图像以及索引图像在MATLAB中的存储和询问方式

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

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

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

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

遇到的问题:

在做思考题

(2)的时候,计算两种平滑处理的得到图像的差值的中程序出现了问题,经过看出错信息,认真检查程序后,发现是因为直接平滑处理的图像是unit8类型的,而转换到HIS空间后,得到的图像是double类型,二者的类型不同,导致使用imsubtract函数的时候出现了问题。

感觉做matlab的实验和平时编写C代码的时候有很多地方是相同的,都会经历:

编码,debug,正确这三个过程,这个过程本身就具有挑战性和趣味性。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1