数字图像处理实验讲解.docx

上传人:b****5 文档编号:2964023 上传时间:2022-11-16 格式:DOCX 页数:10 大小:19.04KB
下载 相关 举报
数字图像处理实验讲解.docx_第1页
第1页 / 共10页
数字图像处理实验讲解.docx_第2页
第2页 / 共10页
数字图像处理实验讲解.docx_第3页
第3页 / 共10页
数字图像处理实验讲解.docx_第4页
第4页 / 共10页
数字图像处理实验讲解.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

数字图像处理实验讲解.docx

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

数字图像处理实验讲解.docx

数字图像处理实验讲解

数字图像处理实验

图像处理实验

(一)直方图

灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。

灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。

1、灰度直方图

(1)计算出一幅灰度图像的直方图

clear

closeall

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.50.8],[0,1],1);

subplot(2,2,4)

imshow(J)

(4)图像二值化(选取一个域值,(5)将图像变为黑白图像)

figure

subplot(2,2,1)

imshow(I)

J=find(I<150);

I(J)=0;

J=find(I>=150);

I(J)=255;

title('实验一(4)图像二值化(域值为150)');

subplot(2,2,2)

imshow(I)

clc;

I=imread('14499.jpg');

bw=im2bw(I,0.5);%选取阈值为0.5

figure;

imshow(bw)%显示二值图象

图象处理变换

(二)

1.傅立叶变换

熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数分布.

2.离散余弦变换

熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换.

%图象的FFT变换

clc;

I=imread('005.bmp');

subplot(1,2,1)

imshow(I);

title('原图');

subplot(1,2,2)

imhist(I);

title('直方图');

colorbar;

J=fft2(I);

figure;

subplot(1,2,1)

imshow(J);

title('FFT变换结果');

subplot(1,2,2)

K=fftshift(J);

imshow(K);

title('零点平移');

figure;

imshow(log(abs(K)),[]),colormap(jet(64)),colorbar;

title('系数分布图');

%图象的DCT变换

RGB=imread('005.bmp');

figure;

subplot(1,2,1)

imshow(RGB);

title('彩色原图');

a=rgb2gray(RGB);

subplot(1,2,2)

imshow(a);

title('灰度图');

figure;

b=dct2(a);

imshow(log(abs(b)),[]),colormap(jet(64)),colorbar;

title('DCT变换结果');

figure;

b(abs(b)<10)=0;

%idct

c=idct2(b)/255;

imshow(c);

title('IDCT变换结果');

图象处理变换(三)小波变换

实验内容:

熟悉小波变换的概念和原理,熟悉matlab小波工具箱主要函数的使用.利用二维小波分析对一幅图象作2层小波分解,并在此基础上提取各层的低频信息实现图像的压缩.

程序如下:

clc

closeall

clear

a=imread('005.bmp');

subplot(1,2,1);

imshow(a);

title('原始图象');

I=rgb2gray(a);

subplot(1,2,2);

imshow(I);

title('原始图象的灰度图');

%进行二维小波变换

[a,b]=wavedec2(I,2,'bior3.7');

%提取各层低频信息

figure;

c=appcoef2(a,b,'bior3.7',1);

subplot(1,2,1);

imshow(c,[]);

title('一层小波变换结果');

d=appcoef2(a,b,'bior3.7',2);

subplot(1,2,2);

imshow(d,[]);

title('二层小波变换结果');

图象处理实验(四)模板运算

一、实验内容:

(1)平滑:

平滑的目的是模糊和消除噪声。

平滑是用低通滤波器来完成,在空域中全是正值。

(2)锐化:

锐化的目的是增强被模糊的细节。

锐化是用高通滤波器来完成,在空域中,接近原点处为正,在远离原点处为负。

利用模板进行图象增强就是进行模板卷积。

1、利用二个低通邻域平均模板(3×3和9×9)对一幅图象进行平滑,验证模板尺寸对图象的模糊效果的影响。

2、利用一个低通模板对一幅有噪图象(GAUSS白噪声)进行滤波,检验两种滤波模板(分别使用一个5×5的线性邻域平均模板和一个非线性模板:

3×5中值滤波器)对噪声的滤波效果。

3、选择一个经过低通滤波器滤波的模糊图象,利用sobel和prewitt水平边缘增强高通滤波器(模板)对其进行高通滤波图象边缘增强,验证模板的滤波效果。

4、选择一幅灰度图象分别利用一阶Sobel算子和二阶Laplacian算子对其进行边缘检测,验证检测效果。

二、实验步骤:

1、利用低通邻域平均模板进行平滑:

I=imread('girl.bmp');

subplot(1,3,1);

imshow(I);

title('原图');

J=fspecial('average');

J1=filter2(J,I)/255;

subplot(1,3,2);

imshow(J1);

title('3*3滤波');

K=fspecial('average',9);

K1=filter2(K,I)/255;

subplot(1,3,3);

imshow(K1);

title('9*9滤波');

2、中值滤波和平均滤波

I=imread('girl.bmp');

J=imnoise(I,'gaussian',0,0.01);

subplot(2,2,1);

imshow(I);

title('原图');

subplot(2,2,2);

imshow(J);

title('noise');

K=fspecial('average',5);

K1=filter2(K,J)/255;

subplot(2,2,3);

imshow(K1);

title('average');

L=medfilt2(J,[35]);

subplot(2,2,4);

imshow(L);

title('medium');

3、高通滤波边缘增强

I=imread('girl.bmp');

subplot(2,2,1);

imshow(I);

title('originalpic');

J=fspecial('average',3);

J1=conv2(I,J)/255;

%J1=filter2(J,I)/255;

subplot(2,2,2);

imshow(J1);

title('3*3lowpass');

K=fspecial('prewitt');

K1=filter2(K,J1)*5;

subplot(2,2,3);

imshow(K1);

title('prewitt');

L=fspecial('sobel');

L1=filter2(L,J1)*5;

subplot(2,2,4);

imshow(L1);

title('sibel');

4、边缘检测

分别用sobel和laplacian算子来进行,程序如下:

I=imread('girl.bmp');

subplot(1,3,1);

imshow(I);

title('originalpic');

K=fspecial('laplacian',0.7);

K1=filter2(K,I)/100;

subplot(1,3,2);

imshow(K1);

title('laplacian');

L=fspecial('sobel');

L1=filter2(L,I)/200;

subplot(1,3,3);

imshow(L1);

title('sibel');

图像处理实验(五)图像分割

实验目的:

1、学习边缘检测

2、学习灰度阀值分割

实验内容:

1、分别用sobel、Laplacian-Gaussian方法对一幅灰度图像进行边缘提取,2、给出对比结果

i=imread('eight.tif');

figure;

subplot(2,2,1);

imshow(i);

title('原始图像');

subplot(2,2,3);

imshow(i);

title('原始图像');

i1=edge(i,'sobel');

subplot(2,2,2);

imshow(i1);

title('sober方法提取的边缘');

i2=edge(i,'log');

subplot(2,2,4);

imshow(i2);

title('Laplacian-Gaussian方法提取的边缘');

比较提取边缘的效果可以看出,sober算子是一种微分算子,对边缘的定位较精确,但是会漏去一些边缘细节。

而Laplacian-Gaussian算子是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘的细节比较丰富。

通过比较可以看出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。

3、利用双峰法对一幅灰度图像进行灰度分割处理

i=imread('eight.tif');

subplot(1,2,1);

imhist(i);

title('原始图像直方图');

thread=130/255;

subplot(1,2,2);

i3=im2bw(i,thread);

imshow(i3);

title('分割结果');

根据原图像的直方图,发现背景和目标的分割值大约在130左右,并将灰度图像转为二值图像,分割效果比较理想。

图像处理实验(六)图像压缩与编码

实验目的:

学习JPEG压缩编码

实验内容:

一.实现基本JPEG的压缩和编码分三个步骤:

1.首先通过DCT变换去除数据冗余;

2.使用量化表对DCT系数进行量化;

3.对量化后的系数进行Huffman编码。

具体源程序由主程序及两个子程序(DCT量化、Huffman编码)组成:

1.主程序

I=imread('autumn.ti

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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