1、首先看效果
输入:

输出:
2、基本思路
对分析输入图像的频谱(幅度谱):

放大:


明显看到频谱中心外有4个峰值,找到坐标,干掉即可(陷波滤波思想)。
找出坐标:



得出4个关键坐标:
(278,313)
(264,313)
(250,201)
(236,201)
matlab坐标以1开始,而C++ opencv数组下标以0开始
所以在C++代码上处理坐标应为:
(277, 312)
(263, 312)
(249, 200)
(235, 200)
本方案notch_filter处理时直接直接赋0,一般来说要赋予周围值。
完整代码:

#include <iostream>
#include<opencv2/opencv.hpp>using namespace cv;
using namespace std;void dft_shift(Mat& ds)
{int cx = ds.cols / 2;int cy = ds.rows / 2;Mat q0 = ds(Rect(0, 0, cx, cy));Mat q1 = ds(Rect(cx, 0, cx, cy));Mat q2 = ds(Rect(0, cy, cx, cy));Mat q3 = ds(Rect(cx, cy, cx, cy));Mat tmp;q0.copyTo(tmp);q3.copyTo(q0);tmp.copyTo(q3);q1.copyTo(tmp);q2.copyTo(q1);tmp.copyTo(q2);
}void magnitude(Mat &input_img, Mat &magnitude_img)
{Mat planes[2];split(input_img, planes);magnitude(planes[0], planes[1], magnitude_img);
}void show_spectrum(Mat& img_spectrum, String title, bool inverse)
{Mat img;magnitude(img_spectrum, img);if (!inverse){img += Scalar::all(1);log(img, img);}normalize(img, img, 0, 255, NORM_MINMAX);img.convertTo(img, CV_8UC1);imshow(title, img);
}void notch_filter(Mat &spectrum, int x, int y, int value)
{Vec2d* pf = spectrum.ptr<Vec2d>(y);pf[x][0] = value;
}int main()
{Mat src_img = imread("lena1.jpg", 0);if (!src_img.data) {return 0;}imshow("src img", src_img);src_img.convertTo(src_img, CV_64FC1);Mat img_spectrum(src_img.size(), CV_64FC2);dft(src_img, img_spectrum, DFT_COMPLEX_OUTPUT, 0);dft_shift(img_spectrum);show_spectrum(img_spectrum, "src spectrum", false);notch_filter(img_spectrum, 277, 312, 0);notch_filter(img_spectrum, 263, 312, 0);notch_filter(img_spectrum, 249, 200, 0);notch_filter(img_spectrum, 235, 200, 0);show_spectrum(img_spectrum, "filtered spectrum", false);Mat dtft_mat;dft(img_spectrum, dtft_mat, DFT_INVERSE);show_spectrum(dtft_mat, "filtered img", true);waitKey(0);return 0;
}```

opencv频域滤波 C++实现陷波滤波器相关推荐

  1. 【OpenCV 例程200篇】90. 频率域陷波滤波器

    [OpenCV 例程200篇]90. 频率域陷波滤波器 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 5.2 陷波滤 ...

  2. Digital Image processing 数字图像处理最佳陷波滤波器设计(频域)

    最佳陷波滤波器(傅里叶变换,matlab实现) 1基本概念 1.1频域滤波步骤小结 在频域中的滤波是简单明了的.它包含如下步骤: (1)给定一幅大小为MN的输入图像f(x,y),选择填充参数P,Q,典 ...

  3. OpenCV 陷波滤波器消除周期性噪音 C++

    观察下面图像: 有明显的近似水平线的噪音模式,我们希望他在频率域内的成分沿垂直轴集中: 下图是该图像的谱: 将垂直轴的分量去掉,构建的陷波器如下: 原图与结果图对比: 滤掉的空间噪音模式: 代码实现: ...

  4. 陷波滤波器——周期性降噪

    1.正弦噪声(周期噪声) 图像中的周期噪声是在图像获取期间由电力或机电干扰产生的,同时周期噪声可通过频率域滤波来显著地减少.陷波滤波器是处理此类噪声的有效工具. 一个纯正弦波的傅里叶变换是位于正弦波共 ...

  5. matlab 陷波器,陷波滤波器—matlab实现

    个人在处理工程信号的时候,会遇到电信号50Hz及其倍频干扰特别强的情况,如何直接滤掉这些特定信号,而不影响周边有用信号呢,下面,就给大家推荐一个能精确剔除掉指定频率的滤波器--陷波滤波器. input ...

  6. python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器

    在一幅图像中,其低频成分对应者图像变化缓慢的部分,对应着图像大致的相貌和轮廓,而其高频成分则对应着图像变化剧烈的部分,对应着图像的细节(图像的噪声也属于高频成分). 滤波器 低通滤波器 高通滤波器 陷 ...

  7. 基于matlab的陷波滤波器设计

    目录 一.理论基础 二.核心程序 三.仿真结论 一.理论基础 陷波滤波器指的是一种可以在某一个频率点迅速衰减输入信号,以达到阻碍此频率信号通过的滤波效果的滤波器.陷波滤波器属于带阻滤波器的一种,只是它 ...

  8. 陷波滤波器设计及应用

    最近有个对陷波滤波器应用的需求,具体见<单相PWM整流反馈电压陷波滤波的好处>博文记录. 在同事现成的推导过程中做相关整理,方便以后使用. 陷波滤波器的传递函数有多种形式,同事采用了如下的 ...

  9. 自适应陷波滤波器(Notch滤波器)

    自适应滤波器以其自身调节参数的能力以及对信号和噪声的先验知识要求少的优势得到了广泛的应用. 自适应陷波滤波器相比于普通的数字滤波器具有较窄的阻带和通带,带外衰减较快.具有滤波输出(Y输出)和陷波输出( ...

最新文章

  1. Gitlab Issue Tracker and Wiki(一)
  2. RESTful Web 服务 - 缓存
  3. java学习曲线建议
  4. 在创业之路上不断创新
  5. 天猫总架构师何崚:好的技术团队不是“需求翻译机”或“架构优化机”
  6. python时间格式化代码_Python datetime格式化代码
  7. 用matlab时提示数据写入文件期间被裁剪_用C语言简单开发学生成绩管理系统
  8. 设计干货|菜单 - 导航UI移动版模板
  9. daemon守护进程初识
  10. weblogic设置classpath、debug端口和log目录
  11. 中科院计算所在可信大数据软件技术方面的研究工作【DOC+PPT下载】
  12. 移动硬盘装Ubuntu系统小记
  13. B - Ternary Logic
  14. 电源管理芯片TMI6201A,助力电池供电系统超长续航更有价值!
  15. 从技术到应用实践 揭秘京东区块链布局全景
  16. java 时间差 long,java计算时间差及比较时间大小
  17. variable ‘XXX cannot be implicitly captured in a lambda with no capture-default specified
  18. JMETER进行REST API测试(分步指南)
  19. 分享者最爱,全是限免软件,大佬们都是在这儿找的
  20. 【Pytorch安装】Failed building wheel for XXX踩坑

热门文章

  1. H.266/VVC相关技术学习笔记16:VTM6.0中的CIIP技术(帧内帧间联合预测)
  2. 3GPP协议 25.105
  3. 【Python】出现SyntaxError: invalid syntax的原因总结
  4. Docker的常用命令大全
  5. 接入高德sdk的几个问题,=。=
  6. c语言record的作用,C语言基础 record 2-指针,结构体,链表,文件的输入输出
  7. 编程要了解的基础知识
  8. 北京市社会保险个人权益记录(参保人员缴费信息)-社保定制
  9. 前端PS切片 常用不同格式图片区别
  10. 电压有效值电容和电感的电压电流相位关系以及电抗和容抗值推导