MATLAB数字图像处理程序

MATLAB数字图像处理程序,第1张

窗函数设计低通滤波器:

fp=1000

fc=1200

as=100

ap=1

fs=22000

wp=2*fp/fs

wc=2*fc/fs

N=ceil((as-7.95)/(14.36*(wc-wp)/2))+1

beta=0.1102*(as-8.7)

window=Kaiser(N+1,beta)

b=fir1(N,wc,window)

freqz(b,1,512,fs)

结果:

高通滤波器:

fs=22000

Wp=2*5000/fs

Ws=2*4800/fs

Ap=1

As=100

N=ceil(8*pi/(Wp-Ws))+1

N=N+mod(N+1,2)+1

Wc=(Wp+Ws)/2/pi

h=fir1(N,Wc,'high')

omega=linspace(0,pi,512)

freqz(h,1,omega)

结果:

带通滤波器:

fs=22000

Wp1=2*1200/fs

Wp2=2*3000/fs

Wc1=2*1000/fs

Wc2=2*3200/fs

Ap=1

As=100

W1=(Wp1+Wc1)/2

W2=(Wp2+Wc2)/2

wdth=min((Wp1-Wc1),(Wc2-Wp2))

N=ceil(11*pi/wdth)+1

b = fir1(N,[W1 W2])

freqz(b,1,512,fs)

结果:

双线性法设计低通滤波器:

fp=1000

fc=1200

as=100

ap=1

fs=22000

wp=2*fp/fs

wc=2*fc/fs%归一化截止频率

[n,wn]=ellipord(wp,wc,ap,as)%求数字滤波器的最小阶数和归一化截止频率

[b,a]=ellip(n,ap,as,wn)%求传递函数的分子分母系数

freqz(b,a,512,fs)

结果:

滤波:

d=filter(b,a,y)

楼主你太狠了,5分要别人做这么多!

1.图像的读入、显示及信息查询:

(1)I=imread ('lena.jpg') %图像读入

imshow(I) %图像显示

(2)inf=imfinfo('lena.jpg') % 图像信息查询

2.图像的常用处理语句:

(1) X=rgb2gray(I) imshow(X) %彩色图像转灰度图像

(2)X2=grayslice(I,64) imshow(X2,hot(64)) %将灰度图像转为索引色图像

(3) X3=im2bw(X1) imshow(X3) %将图像转二值图像

3.图像滤波:

clear all

g0=imread('lena.tif')

g0 = g0(:,:,2) %三维转二维

figure(1)imshow(g0) title('原图') %如图 5

g1=imnoise(g0,'salt &pepper',0.2)

g1=im2double(g1)

figure(2)imshow(g1)title('加入椒盐噪声')%如图 6

h1=fspecial('gaussian',4,0.3)

g2=filter2(h1,g1,'same')

figure(3)imshow(g2)title('进行高斯滤波')%如图 7

h2=fspecial('sobel')

g3=filter2(h2,g1,'same')

figure(4)imshow(g3)title('进行sobel滤波')%如图 8

h3=fspecial('prewitt')

g4=filter2(h3,g1,'same')

figure(5)imshow(g4)title('进行prewitt滤波')%如图 9

h4=fspecial('laplacian',0.5)

g5=filter2(h4,g1,'same')

figure(6)imshow(g5)title('进行拉普拉斯滤波') %如图 10

h5=fspecial('log',4,0.3)

g6=filter2(h5,g1,'same')figure(7)

imshow(g6)title('进行高斯拉普拉斯滤波') %如图 11

h6=fspecial('average')

g7=filter2(h6,g1,'same')figure(8)

imshow(g7)title('进行均值滤波') %如图 12

h7=fspecial('unsharp',0.3)

g8=filter2(h7,g1,'same')

figure(9)imshow(g8)title('进行模糊滤波') %如图 13

h8=[0 -1 0-1 5 -10 -1 0]

g9=filter2(h8,g1,'same')

figure(10)imshow(g9)title('进行高通高斯滤波') %如图 14

h9=g1g10=medfilt2(h9)

figure(11)imshow(g10)title('进行中值滤波') %如图 15

matlab要从命令窗口输入命令来做图像处理

假如你的图像在桌面上,名字是a.bmp

你可以用如下方法读入图片:

I=imread('C:\Documents and settings\Administrator\桌面\a.bmp')

imshow(I) %显示图像

你可以根据此来修改你的小波变换程序,以便用于你的图像处理。你自己先试试,如果不行的话,再把你的程序贴出来,我帮你看看,改好了发给你。

lhywang06@126.com,欢迎你来问。

王老师


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11994189.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存