最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx

上传人:b****2 文档编号:13803662 上传时间:2022-10-13 格式:DOCX 页数:18 大小:997.75KB
下载 相关 举报
最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx_第1页
第1页 / 共18页
最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx_第2页
第2页 / 共18页
最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx_第3页
第3页 / 共18页
最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx_第4页
第4页 / 共18页
最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx

《最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

最新版河北工业大学数字图像处理之matlab实验报告Word格式.docx

orangutan_1.tiforangutan_2.tifiris.tif

图一

2、实验内容

1,通过安装matlab软件,熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱

2,图像的读、写、显示和图像类型参数查看

通过I=imread(FILENAME),读取图像,注意FILENAME=‘图像文件所在的位置+文件名’;

1)通过imwrite(a,FILENAME,fmt),可以把a图像写进FILENAME图像,即是替换掉FILENAME,但是文件图像格式不替换。

2)通过imshow(I),可以把I图像显示出来。

3)例如:

在matlab软件中,运行如下命令:

I=imread('

E:

\orangutan_2.tif'

figure,imshow(I)

I1=imread('

\iris.tif'

figure,imshow(I1)

imwrite(I,'

'

tif'

I2=imread('

figure,imshow(I2)

原图:

orangutan_2.tifiris.tif

运行结果:

可以看到orangutan_2.tif已成功写入iris.tif中。

4)在matlab的可以查看各图像类型的参数

先在workspace中导入一幅名为xx.jpg的真彩图,然后在命令窗口输入如下命令:

I8=imread('

I64=double(I8)255;

imshow(I64);

将一幅名为iris.tif的灰度图像转换成二值图像,然后观察workspace中显示的二值图像、灰度图像、和真彩图像的参数如下图所示

3,全黑图像的解释和拉伸图像程序

1)、解释

由程序myi=uint8(myi);

可知此程序编写的图像在计算机中采用的是8位存储,即灰度值为0~255,其中0为黑,255为白,中间值为由黑向白过度的值。

而程序myi=zeros(20,20);

构造了一个20行20列的0值矩阵,程序myi(2:

将1赋值给矩阵的2,4,6,8,10,12,14,16,18行和2,4,6,8,10,12,14,16,18列,即这些位置的值为1。

因为0,1都在人眼识别的黑色范围内,固图像是全黑的,如果将myi(2:

改为myi(2:

18)=255;

就会发现图像是黑白相间的条格。

2)、纵向二倍拉伸图像代码

T1=maketform('

affine'

[100;

020;

001]);

I=imread('

\orangutan_1.tif'

I1=imtransform(I,T1);

imshow(I),figure,imshow(I1)

4,灰度图像直方图统计程序

1)编写的程序

img=imread('

imshow(img);

[M,N]=size(img);

img=double(img);

代码:

%根据以下生成的图像矩阵数据进行图像的傅立叶变换并显示其频谱

closeall;

f=zeros(30,30);

f(5:

24,13:

17)=1;

figure,imshow(f,'

F=fft2(f);

%可视化二维傅立叶变换结果的常用方法是使用对数,以便更详细地观察在0附近区域的细节

figure,imshow(log(abs(F)),[-15],'

colorbar;

colormap(jet);

pause

FF=fft2(f);

%对f进行零填充,得到一个256X256矩阵,然后再计算离散傅立叶变换

figure,imshow(log(abs(FF)),[-15],'

FFF=fftshift(FF);

%使用函数fftshift对第二个问题进行修正解决

figure,imshow(log(abs(FFF)),[-15],'

return

2)直方图均衡化:

利用Matlab提供的可进行图像直方图修正的函数,自己选择几幅直方图不均匀的图像(如图二pout.tif),对这些图像进行直方图均衡处理,显示处理前后的图像以及它们的灰度直方图,体会直方图均衡化算法的特点。

I=imread('

pout.tif'

H=screen;

displayingat75%scale.

>

Intruesize>

Resize1at308

Intruesizeat44

Inimshowat161

Warning:

Imageistoobigtofitonscreen;

下面进行非线性变换,其变换公式为g=c*f^y

请输入指数y:

3

请输入乘数c:

4)图像平滑(去噪):

(1)选择一幅图像(如图四lena512.jpg),叠加零均值高斯噪声,然后分别利用邻域平均法和中值滤波法对该图像进行滤波,显示滤波前后的图像,比较各滤波器的滤波效果。

(2)选择一幅图像,叠加椒盐噪声,寻则合适的滤波器将噪声滤除。

(3)选择一幅叠加了零均值高斯噪声的图像,设计一种处理方法,即能去噪声又能保持边缘清晰。

(选作)

(4)利用图像空间低通滤波法,对于给定的任意图像和低通滤波器(模板),编写一个较为通用的函数实现对输入图像的平滑处理。

(1)x=imread('

lena512.jpg'

subplot(2,2,1);

imshow(x);

%显示源图像

title('

源图像'

y=imnoise(x,'

gaussian'

0);

%添加0均值的高斯噪声

subplot(2,2,2);

imshow(y);

%显示添加高斯噪声的图像

添加高斯噪声'

mo=fspecial('

average'

%产生一个3*3的方形平均滤波模板

x1=imfilter(x,mo,'

replicate'

%对图像进行邻域平均法处理

%'

指卷积填充边缘时用复制边界的值来扩展

subplot(2,2,3);

imshow(x1);

%显示邻域平均法处理后的图像

邻域平均法处理'

x2=medfilt2(y);

%对高斯躁声中值滤波

subplot(2,2,4);

imshow(x2);

%显示中值滤波后的图像

对高斯噪声进行中值滤波'

(2)M=imread('

subplot(1,3,1);

imshow(M);

%显示原始图像

P=imnoise(M,'

salt&

pepper'

%加入椒盐躁声

%两次叠加椒盐躁声

subplot(1,3,2);

imshow(P);

%两次叠加椒盐躁声后显示图像

加入椒盐噪声'

h=medfilt2(P);

%对椒盐躁声中值滤波

subplot(1,3,3);

imshow(h);

中值滤波后'

5)边缘检测技术:

(1)选择三种不同的边缘检测算子对一幅图像(如图五rice.png)进行边缘检测,显示检测结果。

(2)对含噪图像进行边缘检测,比较各边缘检测算子对噪声的敏感性,并提出抗噪性能较好的边缘检测方法。

(3)编制一个比较通用的边缘提取函数。

通过输入不同的参数,能够实现Roberts算子、Prewitt算子、Sobel算子以及Laplacian算子边缘检测。

(1)I=imread('

rice.png'

imshow(I);

%显示源图像

A1=edge(I,'

sobel'

%用SOBEL算子进行边缘检测

figure,subplot(1,3,1);

imshow(A1);

%SOBEL算子图像显示

SOBEL算子'

A2=edge(I,'

roberts'

%用Roberts算子进行边缘检测

imshow(A2);

%Roberts算子图像显示

Roberts算子'

A3=edge(I,'

prewitt'

%用prewitt算子进行边缘检测

imshow(A3);

%prewitt算子图像显示

prewitt算子'

(2)I=imread('

P=imnoise(I,'

%加入椒盐噪声

%椒盐噪声图像显示

椒盐噪声图像'

B1=edge(P,'

imshow(B1);

%SOBEL算子图像显示

B2=edge(P,'

imshow(B2);

%Roberts算子图像显示

B3=edge(P,'

imshow(B3

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

当前位置:首页 > 自然科学 > 数学

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

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