图像求反两种方法都可以
>> g1=imgdjust(f,[0 1],[1 0])%f为输入图像,此为第一种方法
>> g2=imcomplement(f)%f同样为输入图像,此为第二种方法
至于邻域均值嘛,主要用 fspecial和imfilter 两个函数,具体可以看一下帮助 ^_^
下面的两个例子分别用正方形和圆形的模板进行邻域均值。
>>w1=fspecial('average') %产生一个3x3大小的方形平均滤波模板w1
>>g1=imfilter(f,w1,'replicate') % g1为处理后的图像。'replicate'指卷积填充边缘时用复制边界的值来扩展。
>>w2=fspecial('disk') %产生一个半径为5的圆形平均滤波模板w2
>>g2=imfilter(f,w2,'replicate') % 同样,g2为处理后的图像,'replicate'指卷积填充边缘时用复制边界的值来扩展。
1.PCM 编码实现(M函数)function code=PCMcoding(Range,S)
code=zeros(1,8)
Normalization=abs(S)/Range
deta=1/2048
if sign(S)==1
code(1)=1
else
code(1)=0
end
detas=ceil(Normalization/deta)
if detas>128
code(2)=1
if detas>512
code(3)=1
if detas>1024
code(4)=1
end
elseif detas>256
code(4)=1
end
elseif detas>32
code(3)=1
if detas>64
code(4)=1
end
elseif detas>16
code(4)=1
end
Tribal=bin2dec(num2str(code(2:4)))+1
if Tribal==1
Interval=1
else Interval=(2^(Tribal+2))/16
end
if Tribal==1
code(5)=(2^3)*Interval<detas
code(6)=code(5)*(2^3)*Interval+(2^2)*Interval<detas
code(7)=code(5)*(2^3)*Interval+code(6)*(2^2)*Interval+(2^1)*Interval<detas
code(8)=code(5)*(2^3)*Interval+code(6)*(2^2)*Interval+code(7)*(2^1)*Interval+(2^0)*Interval<detas
else
code(5)=2^(Tribal+2)+(2^3)*Interval<detas
code(6)=2^(Tribal+2)+code(5)*(2^3)*Interval+(2^2)*Interval<detas
code(7)=2^(Tribal+2)+code(5)*(2^3)*Interval+code(6)*(2^2)*Interval+(2^1)*Interval<detas
code(8)=2^(Tribal+2)+code(5)*(2^3)*Interval+code(6)*(2^2)*Interval+code(7)*(2^1)*Interval+(2^0)*Interval<detas
end
2。PCM 解码实现(M函数)
%PCM Decoding
function S=PCMdecoding(Range,code)
deta=Range/2048
Tribal=bin2dec(num2str(code(2:4)))+1
if Tribal==1
Interval=1
else Interval=(2^(Tribal+2))/16
end
if Tribal==1
S=code(5)*(2^3)*Interval+code(6)*(2^2)*Interval+code(7)*(2^1)*Interval+code(8)*(2^0)*Interval+Interval
else
S=2^(Tribal+2)+code(5)*(2^3)*Interval+code(6)*(2^2)*Interval+code(7)*(2^1)*Interval+code(8)*(2^0)*Interval+Interval
end
S=S*deta
程序如下
t=0:1/pi:100*pi
x=sin(100*pi*t)+sin(200*pi*t)+sin(400*pi*t)
X=fft(x)
f = fftshift(X)
w = linspace(0, 250, length(t))%频率坐标
subplot(211)
plot(t,x)
xlabel('t/s')
ylabel('幅值')
subplot(212)
plot(w,abs(f))%频谱图
title('信号的频谱')
xlabel('频率(Hz)')
ylabel('幅值')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)