butterworth matlab,Matlab实现Butterworth滤波器

butterworth matlab,Matlab实现Butterworth滤波器下面是用Matlab实现的Butterworth高通、低通滤波器。clc;clearall;closeall;I=imread(‘cameraman.tif’);subplot(3,2,1);imshow(I);title(‘原始图’);f=double(I);%数据类型转换,MATLAB不支持图像的无符号整型的计算g=fft2(f);%傅立叶变换g=fftshi…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

下面是用Matlab实现的Butterworth高通、低通滤波器。

clc;clear all;close all;

I=imread(‘cameraman.tif’);

subplot(3,2,1);imshow(I);

title(‘原始图’);

f=double(I); % 数据类型转换,MATLAB不支持图像的无符号整型的计算

g=fft2(f); % 傅立叶变换

g=fftshift(g); % 转换数据矩阵

subplot(3,2,2);imshow(log(1+abs(g)),[]);

title(‘傅里叶频谱’);

%低通滤波***************************************************************

[M,N]=size(g);

nn=2; % 二阶巴特沃斯(Butterworth)低通滤波器

d0=10;

m=floor(M/2); n=floor(N/2);

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数

result(i,j)=h*g(i,j);

end

end

subplot(3,2,3);imshow(log(1+abs(result)),[]);

title(‘butterworth低通滤波’);

result=ifftshift(result);

J2=ifft2(result);

J3=uint8(real(J2));

subplot(3,2,4),imshow(J3); % 显示滤波处理后的图像

title(‘低通滤波图’);

%高通滤波

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h=1/(1+0.414*(d0/d)^(2*nn));% 计算传递函数

result(i,j)=h*g(i,j);

end

end

subplot(3,2,5);imshow(log(1+abs(result)),[]);

title(‘butterworth高通滤波’);

result=ifftshift(result);

J2=ifft2(result);

J3=uint8(real(J2));

subplot(3,2,6),imshow(J3); % 显示滤波处理后的图像

title(‘高通滤波图’);

效果图:

0818b9ca8b590ca3270a3433284dd417.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204561.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 提问智慧的oracle问题

    提问智慧的oracle问题提问的智慧Oracle版0。尝试在google,论坛,metalink,onlinedocument里搜索。1。写清楚你的执行log,报错信息,写清楚DBversion,OS 2。Instance方面的问题,请贴出alertlog3。network的问题,贴出server的listener.ora,sqlnet.ora并运行lsnrctlservice,贴出cl

    2022年7月26日
    8
  • 设置ntp服务器同步时间_安卓设置ntp服务器地址

    设置ntp服务器同步时间_安卓设置ntp服务器地址有时服务器需要调整时区并调整时间,需要用到的命令:ntpdate一般Linux系统都默认安装了NTP服务,如果没有安装的话,也可以直接使用yum安装,yum安装命令为:yuminstall-yntpdate首先修改一下时区为上海时区:cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime然后选择国家授时中心的服务器地址:ntpdate210…

    2022年5月3日
    309
  • 3D游戏建模真的很累吗?前景怎么样?需要什么基础?[通俗易懂]

    3D游戏建模真的很累吗?前景怎么样?需要什么基础?[通俗易懂]所有行业都是一样的,没有什么容易的,只不过这一行是偏向于技术的,一个有好的建模师月薪10k+是很常见的,这个需要有自己刻苦学习的成果。游戏建模前景在游戏模型行业,你基本不用担心找不到工作,因为游戏模型师人才缺口非常大。举个例子:游戏制作公司的人员配比大多数是这样的:比如100人的三维制作组,可能有60人在做模型贴图,10个人在K动画。只要你保证技能在手,一定是抢手的人才。在几年前游戏建模这个行业不仅仅缺人才,甚至连新手都非常稀缺,那个时候公司愿意招聘实习生,培养他们然后给公司干活,但是工资一定不

    2022年5月12日
    45
  • 什么是POJO类?

    什么是POJO类?POJO 简单的Java对象(PlainOldJavaObjects)实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来,而且简称比较直接.其中有一些属性及其gettersetter方法的类,有时可以作为valueobject或dto(DataTransformObject)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也

    2022年5月28日
    67
  • linux修改文件权限的命令_chmod递归修改目录权限

    linux修改文件权限的命令_chmod递归修改目录权限当在ubuntushell下键入ls-lh时,会列出该目录下的文件,如:而每个文件显示前都有类似红框里的内容,这些东西代表的含义是:-代表文件d代表目录,也就是文件夹之后有三组字符的编码,每一组定义了3种访问权限r代表对象是可读的w代表对象是可写的x代表对象是可执行的若没有某种权限,在该权限为会出现单破折线,这三组权限分别…

    2022年9月12日
    2
  • 计算机中二进制减法的问题是什么_二进制的减法运算例子

    计算机中二进制减法的问题是什么_二进制的减法运算例子有一道作业题,要求完成下列二进制数的减法运算:   00001100-11110111这道题分析说先把减数化成补码的形式,也就是要把11110111化成补码。如果把一个二进制数化成补码,先在最高位取1,再把各位取反加1。但是上面那个题它的第一位已经是1了,怎么化呀??悬赏分:0-解决时间:2010-3-1221:21;—————————–

    2022年9月24日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号