数字图像处理报告.docx

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

数字图像处理报告.docx

《数字图像处理报告.docx》由会员分享,可在线阅读,更多相关《数字图像处理报告.docx(23页珍藏版)》请在冰豆网上搜索。

数字图像处理报告.docx

数字图像处理报告

 

开课学院及实验室:

实验时间:

学生姓名

学号

成绩

学生所在学院

年级/专业/班

课程名称

数字图像处理

课程代码

实验项目名称

Matlab图像处理工具箱的初步练习

项目代码

指导教师

项目学分

一、实验目的和任务

1、 初步了解与掌握MATLAB语言的基本用法;

2、 掌握MATLAB语言中图象数据与信息的读取方法;

3、 掌握在MATLAB语言中图像类型的转换。

二、实验设备、仪器及器材

1、计算机

2、MatLab软件/语言包括图像处理工具箱(ImageProcessingToolbox)

3、实验所需要的图片

三、实验原理

将数字图像的RGB表示转换为YUV表示;

Y=0.30R+0.59G+0.11B

U=0.70R-0.59G-0.11B

V=-0.30R-0.59G+0.89B

四、实验步骤(按照实际操作过程)

1、阅读资料并熟悉MatLab的基本操作

2、读取MATLAB中的图象数据

3、显示MATLAB中的图象文件。

用MATLAB在自建的文件夹中建立m文件,在这个文件的程序将MATLAB目录下work文件夹中的tree.tif图象文件读出,用到imread,imfinfo等命令,观察一下图象数据,了解一下数字图象在MATLAB中的处理就是处理一个矩阵的本质。

4、将3中的图象显示出来(用imshow)。

5、对MATLAB目录下work文件夹中的flowers.tif进行真彩色图像、索引色图像、灰度图像、二值图像之间的相互变换,并显示。

6、进行真彩色图像RGB(lenacolor.jpg)、YIQ图像、HSV图像、YcbCr图像的相互转换,并显示。

五、实验过程记录(数据、图表、计算等)

1、学习Matlab基本操作。

2、读取并显示tree.tif图象。

[X,Map]=imread('trees.tif','tif')

imshow(X,Map)

 

3、对flowers.tif图像进行真彩色图像、索引色图像、灰度图像、二值图像之间的相互变换,并显示。

程序如下:

%原图像

[X,MAP]=imread('lenacolor.jpg','jpg');

imshow(X,MAP),title('lenacolor.tif')

 

%真彩色

RGB=imread('lenacolor.jpg','jpg');

imshow(RGB),title('真彩色')

 

%真彩色→索引色图像

map=jet(256);

SY=rgb2ind(RGB,map);

imshow(SY),title('真彩色→索引色图像')

 

%索引色→真彩色图像

ZC=ind2rgb(SY,map);

imshow(ZC),title('索引色→真彩色图像')

 

%索引色→灰度图像

gray2=ind2gray(SY,map);

imshow(gray2),title('索引色→灰度图像')

 

%真彩色→灰度图像

gray1=rgb2gray(RGB)

imshow(gray1),title('真彩色→灰度图像')

 

%二值图像

BW=im2bw(RGB,0.5);

imshow(BW),title('二值图像')

 

4、进行真彩色图像RGB(lenacolor.jpg)、YIQ图像、HSV图像、YcbCr图像的相互转换,并显示。

程序如下:

%真彩色

RGB=imread('lenacolor.jpg')

imshow(RGB),title('lenacolor.tif-真彩色')

 

%RGB→YIQ图像

RGB1=RGB

map=jet(256)

yiqmap=rgb2ntsc(map)

YIQ=rgb2ntsc(RGB1)

imshow(YIQ),title('RGB→YIQ图像')

 

%RGB→HSV图像

RGB2=RGB

hsvmap=rgb2ntsc(map)

HSV=rgb2ntsc(RGB2)

imshow(HSV),title('RGB→HSV图像')

 

%RGB→YCbCr图像

RGB3=RGB

YcbCrmap=rgb2ycbcr(map)

YCBCR=rgb2ycbcr(RGB3)

imshow(YCBCR),title('RGB→YCbCr图像')

 

%YIQ→RGB图像

rgbmap=rgb2ntsc(yiqmap)

RGB1=rgb2ntsc(YIQ)

imshow(RGB1),title('YIQ→RGB图像')

 

%HSV→RGB图像

rgbmap=hsv2rgb(hsvmap)

RGB2=hsv2rgb(HSV)

imshow(RGB2),title('HSV→RGB图像')

 

%YCbCr→RGB图像

rgbmap=ycbcr2rgb(YcbCrmap)

RGB3=ycbcr2rgb(YCBCR)

imshow(RGB3),title('YCbCr→RGB图像')

 

六、实验结果分析及问题讨论

1、图像之间转换的基础是什么,为什么可以实现相互的转换

.

开课学院及实验室:

实验时间:

学生姓名

学号

成绩

学生所在学院

年级/专业/班

课程名称

数字图像处理

课程代码

实验项目名称

图像的频域处理方法

项目代码

指导教师

项目学分

一、实验目的和任务

1、了解离散傅立叶变换的基本原理;

2、掌握应用MATLAB进行Fourier变换、反变换的算法实现,并初步理解Fourier变换的物理意义。

二、实验仪器、设备及材料

1、计算机

2、MatLab软件/语言包括图像处理工具箱(ImageProcessingToolbox)

3、实验所需要的图片

三、实验原理

Fourier变换

Fouriern逆变换

振幅谱:

四、实验步骤

1.用Fourier变换算法,对简单图像line.bmp,yuan.bmp,twoyuan.bmp,juxing.bmp,xuanzhuan.bmp,pingyiy.bmp,pingyi.bmp做Fourier变换,体会从空域转换到频域的不同表现。

2.对图像Lenna.bmp作二维Fourier变换;(可以采用快速Fourier变换方法)

3.用Fourier系数的幅度进行Fourier反变换;

4.用Fourier系数的相位进行Fourier反变换;

5.比较2、3的结果,评价人眼对图像幅频特性和相频特性的敏感度。

五、实验过程记录(数据、图表、计算等)

1、用Fourier变换算法,对简单图像line.bmp,yuan.bmp,twoyuan.bmp,juxing.bmp,xuanzhuan.bmp,pingyiy.bmp,pingyi.bmp做Fourier变换。

程序如下:

%line

I=imread('line.bmp')

imshow(I)

B=fftshift(fft2(I));

imshow(log(abs(B)),[],'notruesize');

%yuan

I=imread('yuan.bmp')

imshow(I)

B=fftshift(fft2(I));

imshow(log(abs(B)),[],'notruesize');

 

%twoyuan

I=imread('twoyuan.bmp')

imshow(I)

B=fftshift(fft2(I));

imshow(log(abs(B)),[],'notruesize');

%juxing

I=imread('juxing.bmp')

imshow(I)

B=fftshift(fft2(I));

imshow(log(abs(B)),[],'notruesize');

%xuanzhuan

I=imread('xuanzhuan.bmp')

imshow(I)

B=fftshift(fft2(I));

imshow(log(abs(B)),[],'notruesize');

 

%pingyiy

I=imread('pingyiy.bmp')

imshow(I)

B=fftshift(fft2(I));

imshow(log(abs(B)),[],'notruesize');

%pingyi

I=imread('pingyi.bmp')

imshow(I)

B=fftshift(fft2(I));

imshow(log(abs(B)),[],'notruesize');

2、对图像Lenna.bmp作二维Fourier变换。

程序如下:

I=imread('lenna.bmp')

imshow(I)

B=fftshift(fft2(I));

imshow(log(abs(B)),[],'notruesize');

 

3、分别用Fourier系数的幅度和相位进行Fourier反变换;

程序如下:

X=imread('pingyi.bmp')

F=fftshift(fft2(X))

imshow(log(abs(F)),[]),title('pingyi')

I=imread('lenna.bmp')

F=fftshift(fft2(I))

imshow(log(abs(F)),[]),title('lenna')

I=imread('lenna.bmp')

fftI=fft2(I)

sfftI=fftshift(fftI)

RRfdp1=real(sfftI)

IIfdp1=imag(sfftI)

a=sqrt(RRfdp1.^2+IIfdp1.^2)

a=(a-min(min(a)))/(max(max(a))-min(min(a)))*255

figure

(2)

subplot(2,2,1)

imshow(real(a)),xlabel('(a)lena图的幅值谱图')

b=angle(fftI)

subplot(2,2,3)

imshow(real(b)),xlabel('(c)lena图的相位谱图')

theta=pi/6

RR1=a*cos(theta)

II1=a*sin(theta)

fftI1=RR1+1i.^II1

C=ifft2(fftI1)*255

subplot(2,2,2)

imshow(real(C)),xlabel('(b)利用幅值谱图重构lena图')

MM=150

RR2=MM*cos(angle(fftI))

II2=MM*sin(angle(fftI))

fftI2=RR2+1i.^II2

D=ifft2(fftI2)

subplot(2,2,4)

imshow(real(D)),xlabel('(d)利用相位谱图重构lena图')

实验结果如下:

六、实验结果分析及问题讨论

1、频谱对应的特征量代表的含义

2、为什么图像对幅频特性和相频特性有不同的敏感度。

.

开课学院及实验室:

实验时间:

学生姓名

学号

成绩

学生所在学院

年级/专业/班

课程名称

数字图像处理

课程代码

实验项目名称

图像的空域处理方法

项目代码

指导教师

项目学分

一、实验目的和任务

1、掌握在MATLAB中绘制灰度直方图的方法,了解灰度直方图的均衡化的方法;

2、了解图象滤波的基本定义及目的;

3、了解空域滤波的基本原理及方法;

4、掌握用MATLAB语言进行图象的空域滤波的方法;

二、实验设备、仪器及器材

1、计算机

2、MatLab软件/语言包括图像处理工具箱(ImageProcessingToolbox)

3、实验所需要的图片

三、实验原理

1、灰度变换是对一幅图象的灰度级进行变换,

B(x,y)=f[A(x,y)]

2、

用均值滤波器去除图像中的噪声;

3、用中值滤波器去除图像中的噪声;

四、实验步骤(按照实际操作过程)

1、运行matlab-help—demos—toolboxes—imageprocessing—IntensityAdjustmentandHistogram,做灰度变换和直方图变换,进一步了解变换的原因;

2、读出men.bmp这幅图像,显示它的图象及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图象与原图象的差别,调整后的灰度直方图与原灰度直方图的区别。

3、运行matlab-help—demos—toolboxes—imageprocessing—NoiseReductionfilter,进一步理解空域滤波的原理;

4、读出lena.bmp这幅图像,给这幅图像加入椒盐噪声

5、用均值滤波器去除图像中的噪声;

6、用中值滤波器去除图像中的噪声;

7、比较两种方法的处理结果。

五、实验过程记录(数据、图表、计算等)

1、读出men.bmp这幅图像,显示它的图象及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图象与原图象的差别,调整后的灰度直方图与原灰度直方图的区别。

程序如下:

I=imread('men.bmp')

subplot(2,2,1)

imshow(I),title('原图像')

subplot(2,2,2)

imhist(I),title('原图像的直方图')

J=imadjust(I,[0.030.1],[01])

subplot(2,2,3)

imshow(J),title('变换后的图像')

subplot(2,2,4)

imhist(J),title('变换后的直方图')

 

2、读出lena.bmp这幅图像,给这幅图像加入椒盐噪声。

程序如下:

 

I=imread(lenna.bmp');

subplot(2,2,1);

imshow(I),title('原图像')

subplot(2,2,3);

J=imnoise(I,'salt&pepper',0.02);

imshow(J),title('噪声图像')

 

3、分别用均值滤波器和中值滤波器去除图像中的噪声。

1.均值滤波

I=imread('men.bmp');

J=imnoise(I,'salt&pepper',0.02);

h=fspecial('average');

I1=imfilter(J,h);

subplot(1,2,1);

imshow(I1),title('3×3均值滤波去噪')

h=fspecial('average',[55]);

I2=imfilter(J,h);

subplot(1,2,2);

imshow(I2),title('5×5均值滤波去噪')

2.中值滤波

I=imread('men.bmp');

J=imnoise(I,'salt&pepper',0.02);

h=fspecial('average');

I3=medfilt2(J);

subplot(1,2,1);

imshow(I3),title('3×3中值滤波去噪')

I4=medfilt2(J,[55]);

subplot(1,2,2);

imshow(I4),title('5×5中值滤波去噪')

六、实验结果分析及问题讨论

1.小结一下本实验所用的增强方法

2.比较一下均值滤波和中值滤波处理的效果并指出其中异同

 

开课学院及实验室:

实验时间:

学生姓名

学号

成绩

学生所在学院

年级/专业/班

课程名称

数字图像处理

课程代码

实验项目名称

图像分割和目标识别

项目代码

指导教师

项目学分

一、实验目的和任务

1、掌握在MATLAB中边缘检测的方法;

2、了解图像分割的基本策略及方法;

3、掌握用MATLAB语言进行边缘检测和目标识别的方法。

二、实验设备、仪器及器材

1、计算机

2、MatLab软件/语言包括图像处理工具箱(ImageProcessingToolbox)

3、实验所需要的图片

三、实验原理

1、阈值分割是对一幅图象的目标和背景进行判定,

2、

用中值滤波器去除图像中的噪声;

3、二值形态学基本公式:

设A表示一副二值图像,B为结构元素则A关于B的膨胀和腐蚀变换分别定义为:

其中

是B的映像。

腐蚀是表示用某种形状的结构元素对一个图像进行探测,以便找出图像内部可以放下该结构元素的区域。

它是一种消除边界点,使边界向内部收缩的过程。

可以用来消除小且无意义的物体。

四、实验步骤(按照实际操作过程)

1、读出chrimage.bmp这幅图像,转换为灰度图像。

2、用中值滤波器去除图像中的噪声;

3、采用阈值分割将图像转换为二值图像;

4、对二值图像进行形态学操作,获得分析值。

五、实验过程记录(数据、图表、计算等)

1、读出chrimage.bmp这幅图像,转换为灰度图像。

程序如下:

I=imread('chrimage.bmp')

subplot(1,2,1)

imshow(I),title('原图像')

subplot(1,2,2)

I2=rgb2gray(I)

imshow(I2),title('灰度图像')

2.用中值滤波器去除图像中的噪声。

程序如下:

I=imread('chrimage.bmp')

I2=rgb2gray(I)

K1=medfilt2(I2,[33])

K2=medfilt2(I2,[55])

K3=medfilt2(I2,[77])

subplot(2,2,1)

imshow(I),title('原图像')

subplot(2,2,2)

imshow(K1),title('3×3中值滤波')

subplot(2,2,3)

imshow(K2),title('5×5中值滤波')

subplot(2,2,4)

imshow(K2),title('7×7中值滤波')

3、采用阈值分割将图像转换为二值图像。

程序如下:

I=imread('chrimage.bmp')

I2=rgb2gray(I)

K1=medfilt2(I2,[77])

I3=imadjust(K1)

bw=im2bw(I3,0.3)

subplot(1,2,1)

imshow(I),title('原图像')

subplot(1,2,2)

imshow(bw),title('二值图像')

4、对二值图像进行形态学操作,获得分析值。

程序如下:

I=imread('chrimage.bmp')

I2=rgb2gray(I)

s=size(I2);

I4=255*ones(s

(1),s

(2),'uint8');

I5=imsubtract(I4,I2);

K1=medfilt2(I5,[77])

I3=imadjust(K1)

bw=im2bw(I3,0.3)

bw=bwareaopen(bw,10)

subplot(2,2,1);

imshow(bw),title('去除杂点')

[labeled,numObjects]=bwlabel(bw,4);%标记连通域

RGB_label=label2rgb(labeled,@spring,'c','shuffle');%用颜色标记每一个染色体

subplot(2,2,2);

imshow(RGB_label),title('标记每一个染色体')

subplot(2,2,3);

chrdata=regionprops(labeled,'basic')

allchrs=[chrdata.Area];

num=size(allchrs)

nbins=20;

hist(allchrs,nbins),title(['染色体总数',num2str(num

(2))])

(1)去除图像中面积过小的,可以肯定不是染色体的杂点。

这些杂点一部分是滤噪没有滤去的染色体附近的小毛糙,一部分是图像边缘亮度差异产生的,结果见下图

(2)用颜色标记每一个染色体,以便直观显示。

此时染色体的断开与粘连问题已基本被解决。

最终效果如下图。

结果见下图

(3)统计被标记的染色体区域的面积分布,显示染色体总数。

统计总数为46,与人工数出数目的相同。

 

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

当前位置:首页 > 求职职场 > 简历

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

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