ButterWorth滤波器学习(参照博主链接——https://blog.csdn.net/cjsh_123456/article/details/79342300,非常感谢!),仅作个人学习记录

因为实验需要,需要了解该滤波器相关内容,参照该博主实验了他的以下代码——
函数代码:

function [image_out] = Bfilter(image_in, D0, N)
% Butterworth滤波器,在频率域进行滤波
% 输入为需要进行滤波的灰度图像,Butterworth滤波器的截止频率D0,阶数N
% 输出为滤波之后的灰度图像[m, n] = size(image_in);
P = 2 * m;
Q = 2 * n;fp = zeros(P, Q);
%对图像填充0,并且乘以(-1)^(x+y) 以移到变换中心
for i = 1 : mfor j = 1 : nfp(i, j) = double(image_in(i, j)) * (-1)^(i+j);end
end
% 对填充后的图像进行傅里叶变换
F1 = fft2(fp);% 生成Butterworth滤波函数,中心在(m+1,n+1)
Bw = zeros(P, Q);
a = D0^(2 * N);
for u = 1 : Pfor v = 1 : Qtemp = (u-(m+1.0))^2 + (v-(n+1.0))^2;Bw(u, v) = 1 / (1 + (temp^N) / a);end
end%进行滤波
G = F1 .* Bw;% 反傅里叶变换
gp = ifft2(G);% 处理得到的图像
image_out = zeros(m, n, 'uint8');
gp = real(gp);
g = zeros(m, n);
for i = 1 : mfor j = 1 : ng(i, j) = gp(i, j) * (-1)^(i+j);end
end
mmax = max(g(:));
mmin = min(g(:));
range = mmax-mmin;
for i = 1 : mfor j = 1 : nimage_out(i,j) = uint8(255 * (g(i, j)-mmin) / range);end
endend

脚本代码:

clear all;
close all;
clc;
image1 = imread('C:\1.bmp');
image1 = rgb2gray(image1)
image2 = Bfilter(image1, 10, 2);
image3 = Bfilter(image1, 30, 2);
image4 = Bfilter(image1, 60, 2);
image5 = Bfilter(image1, 160, 2);
image6 = Bfilter(image1, 460, 2);% 显示图像
subplot(2,3,1), imshow(image1), title('原图像');
subplot(2,3,2), imshow(image2), title('D0 = 10, n = 2');
subplot(2,3,3), imshow(image3), title('D0 = 30, n = 2');
subplot(2,3,4), imshow(image4), title('D0 = 60, n = 2');
subplot(2,3,5), imshow(image5), title('D0 = 160, n = 2');
subplot(2,3,6), imshow(image6), title('D0 = 460, n = 2');

使用的图像为1.bmp

对比该博主文章中的脚本代码,我多了一行代码(即image1 = rgb2gray(image1) %将彩图转为灰度图),这是应为我使用的是三维彩色图片,否则运行结果如下——

转为灰度图后后再调用以上函数输出图像如下——

注意:使用的图像尺寸不能太大,否则image1的矩阵过大也会导致matlab脚本终止

注:jpg转bmp图像问题,利用win10系统的3D画图工具打开合适大小目标jpg或png图像,另存问bmp图像即可

最后感谢该播主的解惑!!

ButterWorth滤波器学习(参照博主链接——https://blog.csdn.net/cjsh_123456/article/details/79342300)相关推荐

  1. Jmeter压力测试简单教程(包括服务器状态监控)-----转载自lsoqvle 的博客(https://blog.csdn.net/cbzcbzcbzcbz/article/details/780)

    步骤一  安装Jmeter 我用的版本是3.1版本,为什么是3.1,因为3.2有问题,我也是跑了一段时间后才知道3.2版本太新了还是什么的,有些功能就是不行,在此建议大家,不要轻易使用最新版本,次新版 ...

  2. 葵花宝典(转自:https://blog.csdn.net/binbin594738977/article/details/79429301 )

    android开发工具 http://www.androiddevtools.cn/index.html API开发文档(不需要fq) https://developer.android.google ...

  3. 开源项目综合案例https://blog.csdn.net/m0_37700275/article/details/78783049

    开源项目综合案例 置顶 2017年12月12日 16:16:17 杨充 阅读数:473 版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/m0_37700275 ...

  4. https://blog.csdn.net/blmoistawinde/article/details/84329103

    背景     很多场景需要考虑数据分布的相似度/距离:比如确定一个正态分布是否能够很好的描述一个群体的身高(正态分布生成的样本分布应当与实际的抽样分布接近),或者一个分类算法是否能够很好地区分样本的特 ...

  5. GitHu的诞生记 转 https://blog.csdn.net/fanpeihua123/article/details/58151161

    前言:这篇文章应读者要求所写,主要聊聊版本管理系统(Version Control System,简称 VCS), 这篇文章不能让你学会一门技术, 但是希望能帮你理解版本管理的原理. "人肉 ...

  6. https://blog.csdn.net/wutianxu123/article/details/82597337

    web安全/渗透测试--1--web安全原则 版权声明:本文为博主原创文章,转载本站文章请注明作者和出处,请勿用于任何商业用途. https://blog.csdn.net/wutianxu123/a ...

  7. 自动车牌识别(ALPR)---https://blog.csdn.net/ELEVEN_ZOU/article/details/80893579

    1.基本功能:从一张或者一系列的图片中提取车牌信息,比如车牌号码.车牌颜色等信息. 2.功能扩展:车型.车品牌.车牌类型等. 3.应用方向:电子交易系统(停车自动收费.收费站自动支付等).交通执法.交 ...

  8. https://blog.csdn.net/watermelon_learn/article/details/88902117

    这里写自定义目录标题 第一次转载大神的文章,也是第一次发表csdn,有错大家请原谅. 华为2019年3月27日实习生笔试题及解答 第一次转载大神的文章,也是第一次发表csdn,有错大家请原谅. 我们对 ...

  9. https://blog.csdn.net/codezjx/article/details/8872090

    FBI Warning:欢迎转载,但请标明出处:http://blog.csdn.net/codezjx/article/details/8872090,未经本人同意请勿用于商业用途,感谢支持! 前言 ...

  10. Ubuntu安装软件是始终出现dpkg错误(转载,原文链接:https://blog.csdn.net/cyf15238622067/article/details/53534629)

    Ubuntu安装软件是始终出现dpkg错误 一.设置镜像 二. 出现错误死循环时,使用下述命令 sudo dpkg -i --force-overwrite sudo dpkg -i --force- ...

最新文章

  1. 破坏双亲委派机制的那些事
  2. Python flask出现jinja2.exceptions.TemplateNotFound错误(修复host就好了???)
  3. 压缩图片上传到数据库
  4. Diffie Hellman密钥交换
  5. C++学习之路: 智能指针入门
  6. python怎样创建桌面快捷方式_python创建桌面快捷方式的代码
  7. 大一软件工程C语言推荐书籍,大一软件工程学生,看完了谭浩强的书,越看越迷茫,感觉并没什么用,什么大程序都不会编,求指点?...
  8. 远程Linux服务器文件下载至Windows本地
  9. 计算机考研数据结构答案,计算机考研数据结构试卷八(练习题含答案)
  10. natapp做一个内网穿透
  11. 安装一台RHEL7虚拟机
  12. 《心灵捕手》经典台词
  13. 李航统计学习方法笔记——泛化误差上界
  14. 如果考研再来一次,你不会做哪些事情
  15. 蓝桥 卷“兔”来袭编程竞赛专场-05棋盘加密 题解
  16. 【Bootstrap】<前端框架>Bootstrap布局容器栅格网格系统
  17. Android 安全框架 -- 总概
  18. matlab 指纹,一种基于matlab的指纹识别方法
  19. Python包下载常用whl文件汇总:最全的Python whl集合
  20. 运放电路的知识点(二)

热门文章

  1. Open Distro for Elasticsearch
  2. CentOS7安装Zeppelin完整步骤
  3. excel求方差和标准差的函数_excel标准差函数是什么?怎么计算?
  4. 解决mysql1336
  5. python数据分析论文报告电影_一个实战案例带你走完python数据分析全流程:豆瓣电影评论的关键词云图制作...
  6. 用正则表达式清除各类符号
  7. 数据智能,慧眼识“真”——个推大数据风控产品亮相
  8. python: module ‘urllib‘ has no attribute ‘unquote‘(url解码)
  9. html网页制作代码大全表白 html表白代码大全可复制,浪漫的html表白特效网页制作源代码
  10. 北斗/GNSS在ROS机器人系统的应用