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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python读写LMDB文件「建议收藏」

    Python读写LMDB文件「建议收藏」LMDB的全称是LightningMemory-MappedDatabase,它的文件结构简单,包含一个数据文件和一个锁文件。LMDB文件可以同时由多个进程打开,具有极高的数据存取速度,访问简单,不需要运行单独的数据库管理进程,只要在访问数据的代码里引用LMDB库,访问时给文件路径即可。让系统访问大量小文件的开销很大,而LMDB使用内存映射的方式访问文件,使得文件内寻址的开销非常小,使…

    2022年9月29日
    5
  • 女友:啥,识别个文字还要付费?我立马用Python实现了一款免费版文字识别工具[通俗易懂]

    女友:啥,识别个文字还要付费?我立马用Python实现了一款免费版文字识别工具[通俗易懂]导语有一天和女朋友聊天,翻着手机上的软件,看电影、看编程网站,她说到:“这么多APP,怎么就没一个做文字识别很方便的呢?我经常读书读到一段话想把它摘抄下来,可是这些软件不是打开进入文字识别步骤很复杂,就是限制识别次数,要么就是限制编辑,很多识别软件还都是付费的,好烦“。然后程序员小哥说:“要不我给你做一个免费版本文字识别小程序?”话不多话,对象第一,开干~~~​​​正文程序原理简介:python利用百度文字识别功能,实现对上传的图片进行扫描,获取图片的文字信…

    2022年5月27日
    36
  • 订单支付相关问题总结

    订单支付相关问题总结最近公司商城系统要重做,我接手了支付相关的需求,发现里面弯弯绕绕的地方还是有不少的,所以把碰到的问题记录一下。支付问题在第一次对接微信支付时,生成预支付单的接口会让使用微信商家平台的API密钥进行加签,但是就算你使用的API密钥确定没有问题,也可能会返回验签失败,一点办法也没有。解决方法:使用UUID重新生成了32位纯小写的密钥(我怀疑就是密钥格式问题引起的,从来没有见过密钥让用户手…

    2022年6月6日
    23
  • long long转string代码

    long long转string代码stringlltoString(longlongtimestamp){stringresult;ostringstreamss;ss<<timestamp;istringstreamis(ss.str());is>>result;returnresult;}包含头文件:#include…

    2022年5月14日
    37
  • MIPI协议知识

    MIPI协议知识转发路径:https://blog.csdn.net/weixin_41842559/article/details/109828013?spm=1001.2101.3001.6650.14&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_

    2022年6月2日
    38
  • C++sstream

    C++sstream#include<iostream>#include<stdio.h>#include<algorithm>#include<vector>#include<cstring>#include<sstream>#include<strstream>#include<queue>using…

    2022年6月4日
    27

发表回复

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

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