图 像 处 理 实 验一直 方 图Word格式文档下载.docx

上传人:b****6 文档编号:8404484 上传时间:2023-05-11 格式:DOCX 页数:4 大小:19.10KB
下载 相关 举报
图 像 处 理 实 验一直 方 图Word格式文档下载.docx_第1页
第1页 / 共4页
图 像 处 理 实 验一直 方 图Word格式文档下载.docx_第2页
第2页 / 共4页
图 像 处 理 实 验一直 方 图Word格式文档下载.docx_第3页
第3页 / 共4页
图 像 处 理 实 验一直 方 图Word格式文档下载.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

图 像 处 理 实 验一直 方 图Word格式文档下载.docx

《图 像 处 理 实 验一直 方 图Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图 像 处 理 实 验一直 方 图Word格式文档下载.docx(4页珍藏版)》请在冰点文库上搜索。

图 像 处 理 实 验一直 方 图Word格式文档下载.docx

subplot(1,2,1)imshow(J);

FFT变换结果'

subplot(1,2,2)K=fftshift(J);

imshow(K);

零点平移'

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

系数分布图'

%图象的DCT变换RGB=imread('

subplot(1,2,1)imshow(RGB);

彩色原图'

a=rgb2gray(RGB);

subplot(1,2,2)imshow(a);

灰度图'

b=dct2(a);

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

DCT变换结果'

b(abs(b)<

10)=0;

%idctc=idct2(b)/255;

imshow(c);

IDCT变换结果'

图象处理变换(三)小波变换实验内容:

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

clccloseallcleara=imread('

subplot(1,2,1);

imshow(a);

原始图象'

I=rgb2gray(a);

subplot(1,2,2);

imshow(I);

原始图象的灰度图'

%进行二维小波变换[a,b]=wavedec2(I,2,'

bior3.7'

%提取各层低频信息figure;

c=appcoef2(a,b,'

1);

imshow(c,[]);

一层小波变换结果'

d=appcoef2(a,b,'

2);

imshow(d,[]);

二层小波变换结果'

图象处理实验(四)模板运算一、实验内容:

(1)平滑:

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

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

(2)锐化:

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

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

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

1、利用二个低通邻域平均模板(3×

3和9×

9)对一幅图象进行平滑,验证模板尺寸对图象的模糊效果的影响。

2、利用一个低通模板对一幅有噪图象(GAUSS白噪声)进行滤波,检验两种滤波模板(分别使用一个5×

5的线性邻域平均模板和一个非线性模板:

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

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

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

二、实验步骤:

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

girl.bmp'

subplot(1,3,1);

J=fspecial('

average'

J1=filter2(J,I)/255;

subplot(1,3,2);

imshow(J1);

3*3滤波'

K=fspecial('

9);

K1=filter2(K,I)/255;

subplot(1,3,3);

imshow(K1);

9*9滤波'

2、中值滤波和平均滤波I=imread('

J=imnoise(I,'

gaussian'

0,0.01);

subplot(2,2,1);

subplot(2,2,2);

imshow(J);

noise'

5);

K1=filter2(K,J)/255;

subplot(2,2,3);

L=medfilt2(J,[35]);

subplot(2,2,4);

imshow(L);

medium'

3、高通滤波边缘增强I=imread('

originalpic'

3);

J1=conv2(I,J)/255;

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

3*3lowpass'

prewitt'

K1=filter2(K,J1)*5;

L=fspecial('

sobel'

L1=filter2(L,J1)*5;

imshow(L1);

sibel'

4、边缘检测分别用sobel和laplacian算子来进行,程序如下:

laplacian'

0.7);

K1=filter2(K,I)/100;

L1=filter2(L,I)/200;

图像处理实验(五)图像分割实验目的:

1、学习边缘检测2、学习灰度阀值分割实验内容:

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

eight.tif'

imshow(i);

原始图像'

i1=edge(i,'

imshow(i1);

sober方法提取的边缘'

i2=edge(i,'

log'

imshow(i2);

Laplacian-Gaussian方法提取的边缘'

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

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

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

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

imhist(i);

原始图像直方图'

thread=130/255;

i3=im2bw(i,thread);

imshow(i3);

分割结果'

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

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

学习JPEG压缩编码实验内容:

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

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

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

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

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

1.主程序I=imread('

autumn.tif'

yiq=rgb2ntsc(I);

my=[1611101624405161;

1212141926586055;

1413162440576956;

1417222951878062;

182237566810910377;

243555648110411392;

49647887103121120101;

7292959811210010399];

miq=[1718244799999999;

1821266699999999;

2426569999999999;

4766999999999999;

9999999999999999;

9999999999999999];

I1=yiq(:

:

1);

I2=(:

2);

[mn]=size(I1);

t1=8;

ti1=1;

while(t1t1=t1+8;

ti1=ti1+1;

endt2=8;

ti2=1;

while(t2t2=t2+8;

ti2=ti2+1;

endtimes=0;

fork=0:

ti1-2forj=0:

ti2-2dct8x8(I1(k*8+1:

k*8+8,j*8+1:

j*8+8),my,times*64+1);

dct8x8(I2(k*8+1:

j*8+8),miq,times*64+1);

times=times+1;

endblock(I2(k*8+1:

t2),[88],'

dctmtx(8)'

endforj=0:

t1,j*8+1:

j*8+8),times*64+1);

enddct8x8(I1(k*8+1:

t2),times*64+1);

2.functiondct8x8(I,m,s)%定义DCT量化子程序T=inline('

y=blkproc(I,[88],T);

y=round(y./m);

p=1;

te=1;

while(p<

=64)forq=1:

tey1(s+p)=y(te-q+1,q);

p=p+1;

endforq=te:

-1:

1y1(s+p)=y(te-q+1,q);

endendf=haffman(y1);

c(s:

s+64,1)=f(:

s+64,2)=f(:

s+64,3)=f(:

3)3.functionc=haffman(I)%定义Huffman编码子程序[m,n]=size(I);

p1=1;

s=m*n;

fork=1:

mforh=1:

nf=0;

forb=1:

p1-1if(c(b,1)==I(k,h))f=1;

break;

endendif(f==0)c(p1,1)=I(k,h);

p1=p1+1;

endendendforg=1:

p1-1p(g)=0;

c(g,2)=0;

nif(c(g,1)==I(k,h))p(g)=p(g)+1;

endendendp(g)=p(g)/s;

endpn=0;

po=1;

while

(1)if(pn>

=1.0)break;

else[pmp2]=min(p(1:

p1-1));

p(p2)=1.1;

[pm2,p3]=min(p(1:

p(p3)=1.1;

pn=pm+pm2;

p(p1)=pn;

tree(po,1)=p2;

tree(po,2)=p3;

po=po+1;

endendfork=1:

po-1tt=k;

m1=1;

if(or(tree(k,1)<

9,tree(k,2)<

9))if(tree(k,1)<

9)c(tree(k,1),2)=c(tree(k,1),2)+m1;

m2=1;

while(ttm1=m1*2;

forh=tt:

po-1if(tree(h,1)==tt+g)c(tree(k,1),2)=c(tree(k,1),2)+m1;

m2=m2+1;

tt=h;

elseif(tree(h,2)==tt+g)m2=m2+1;

endendendc(tree(k,1),3)=m2;

endtt=k;

if(tree(k,2)<

9)m2=1;

po-1if(tree(h,1)==tt+g)c(tree(k,2),2)=c(tree(k,2),2)+m1;

elseif(tree(l,2)==tt+g)m2=m2+1,tt=h;

endendendc(tree(k,2),3)=m2;

endendend二.JPEG2000采用小波变换编码,小波变换压缩编码实现程序为loadwbarb;

subplot(2,2,1),image(X);

colormap(map)title('

[c,s]=wavedec2(X,2,'

thr=20;

ca1=appcoed2(c,s,'

ch1=detcoef2('

h'

c,s,1);

cv1=detcoef2('

v'

cd1=detcoef2('

d'

a1=wrcoef2('

a'

c,s,'

h1=wrcoef2('

v1=wrcoef2('

d1=wrcoef2('

c1=[a1,h1,v1,d1];

ca1=wcodemat(ca1,440,'

mat'

0);

ca1=0.5*ca1subplot(2,2,2),image(ca1)title('

压缩图象一'

)ca2=appcoed2(c,s,'

ca2=wcodemat(ca2,440,'

ca2=0.5*ca2;

subplot(2,2,3),image(ca2)title('

压缩图象二'

)图象处理实验(七)应用KL变换进行图象的特征提取一、实验要求:

应用KL变换进行图象的特征提取。

熟悉MATLAB的相关命令。

二、实验目的:

掌握如何应用KL变换进行图象的特征提取。

三、实验内容:

选择一幅稍大的灰度图象(最好用纹理图象),按下面步骤进行实验:

(1)应用9×

9的窗口对上述图象进行随机抽样,共抽样200块子图象;

(2)将所有子图象按列相接变成一个81维的行向量;

(3)对所有200个行向量进行KL变换,求出其对应的协方差矩阵的特征向量和特征值,按降序排列特征值以及所对应的特征向量;

(4)选择前40个最大特征值所对应的特征向量作为主元,将原图象块向这40个特征向量上投影,所获得的投影系数就是这个子块的特征向量。

(5)求出所有子块的特征向量。

四、实验结果:

源程序如下:

clearcloseallclcM=rand(200,200);

a.bmp'

[mx,my]=size(I);

fori=1:

200forj=1:

199if(ceil(M(i,j)*mx)x(i)=ceil(M(i,j)*mx);

y(i)=ceil(M(i,j+1)*my);

endendendfori=1:

200I1(:

i)=imcrop(I,[x(i),y(i),8,8]);

I2(:

i)=reshape(I1(:

i),1,81);

endI2=double(I2);

C=I2'

*I2/200;

[a,s]=eig(C);

A=a(161:

200,:

U=A*I2'

;

imshow(U);

特征向量'

/bbsxp/showtopic.asp?

topage=1&

id=1525&

forumid=37&

page=11

欢迎光临程序员联合开发网(,[gavin1000---]

.cn/vibbbs/query.asp[gavin1000---]

仅供个人用于学习、研究;

不得用于商业用途。

Forpersonaluseonlyinstudyandresearch;

notforcommercialuse.

Nurfü

rdenpersö

nlichenfü

rStudien,Forschung,zukommerziellenZweckenverwendetwerden.

Pourl'

é

tudeetlarechercheuniquementà

desfinspersonnelles;

pasà

desfinscommerciales.

 

толькодлялюдей,которыеиспользуютсядляобучения,исследованийинедолжныиспользоватьсявкоммерческихцелях. 

以下无正文

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

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2