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)
上一篇 2025年8月8日 上午9:15
下一篇 2025年8月8日 上午9:43


相关推荐

  • FLAG_ACTIVITY_NEW_TASK与FLAG_ACTIVITY_CLEAR_TOP的理解纠正「建议收藏」

    FLAG_ACTIVITY_NEW_TASK与FLAG_ACTIVITY_CLEAR_TOP的理解纠正「建议收藏」1.单独的FLAG_ACTIVITY_NEW_TASK并不等价于启动模式singleTask,它仅表示寻找activity所需的任务栈压入,(即TaskAffinity指定的任务栈,TaskAffinity默认为应用包名)2.FLAG_ACTIVITY_NEW_TASK+FLAG_ACTIVITY_CLEAR_TOP也不等价于启动模式singleTask3.在FLAG_ACTIVITY_…

    2022年7月17日
    14
  • pycharm默认主题_pycharm主题插件

    pycharm默认主题_pycharm主题插件一、Pycharm基本设置(小白篇)1、打开Pycharm设置,【File】-【Settings】2、设置解释器,【File】-【Settings】-【Project:项目名字】-【ProjectInterpreter】-【设置图标】-【Add】-【浏览到目标解释器】,选择相应解释器即可。3、设置pycharm主题,【File】-【Settings】-【Appearance&Behavior】-【Appearance】;Theme:修改主题、Usecustomf

    2022年8月26日
    4
  • 目前最简单的OpenClaw+飞书+模型配置,养虾进入零配置时代

    目前最简单的OpenClaw+飞书+模型配置,养虾进入零配置时代

    2026年3月12日
    4
  • pycharm如何调试代码_pycharm调试debug入门

    pycharm如何调试代码_pycharm调试debug入门1.首先在怀疑出错的代码处的前面设置断点2.点击pycharmdebug按钮3.stepover也就是F8进行单击调试,只有光标在哪一行就是即将运行的代码只有光标跳到下一行,这一行才会执行4.运行到某一个自定义函数def的时候如果想知道里面如何运行单击stepinto(F7)然后继续stepover最后可能返回一个result回到main函数继续stepover。5.如果是嵌套函数,函数里面还有别的自定义函数可以运行到那一行时继续stepinto6.如.

    2022年8月25日
    6
  • contig命令整理文件碎片

    contig命令整理文件碎片在用 Grub 启动 Windows 操作系统镜像的时候通常会用 map Windows8 iso hd32 这条命令 它其实是将 Windows8 iso 虚拟成一个 CDROM 而 hd32 指的是 CDROM 的第一个序号 相当于把 Windows8 iso 挂载到虚拟光驱里面 Grub 可以虚拟 hd32 0xFF 的 CDROM 但是这么做要求这个镜像必须连续存放的 如果不连续就会出现错误 而 con

    2026年3月20日
    2
  • PHP多进程开发与Redis结合实践「建议收藏」

    PHP多进程开发与Redis结合实践

    2022年2月8日
    42

发表回复

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

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