opencv使用cvDFT 傅立叶转换的例子

第六章 - 图像变换 - 卷积和离散傅里叶变换DFT(cvDFT) 利用DFT可以大大加快卷积运算的速度,因为卷积定理说明空间域的卷积运算可以转换为频域的乘法运算。 ------------------------------------------------------------------------------- GetOptimalDFTSize GetOptimalDFTSize 对于给定的矢量尺寸返回最优 阅读详情

 

int main(int argc, char* argv[])
{


    unsigned 
int i;
    CvMat
* s = cvCreateMat(1,32,CV_32FC1);
    CvMat
* d = cvCreateMat(1,32,CV_32FC1);
    CvMat
* s2 = cvCreateMat(1,32,CV_32FC1);
    
for(i=0;i<32;i++)
        cvSetReal2D(s,
0,i,i);

    
//显示一下输入信号
    for(i=0;i<32;i++)
        printf(
"%6.2f ",cvGetReal2D(s,0,i));
    printf(
" ");

    
//DFT 离散傅立叶变换
    cvDFT(s,d,CV_DXT_FORWARD);     //CV_DXT_FORWARD 代表了正变换:空域-〉频域

    printf(
"The result of DFT: ");
    
for(i=0;i<32;i++)
        printf(
"%6.2f ",cvGetReal2D(d,0,i));

    
//DFT 离散傅立叶逆变换
    cvDFT(d,s2,CV_DXT_INVERSE); //逆变换
    printf(" The result of IDFT: ");
    
for(i=0;i<32;i++)
        printf(
"%6.2f ",cvGetReal2D(s2,0,i));
    printf(
" ");

    system(
"pause");


    
return 0;



}

结果:

 

  0.00    1.00    2.00    3.00    4.00    5.00    6.00    7.00    8.00    9.00
 
10.00   11.00   12.00   13.00   14.00   15.00   16.00   17.00   18.00   19.00
 
20.00   21.00   22.00   23.00   24.00   25.00   26.00   27.00   28.00   29.00
 
30.00   31.00
The result of DFT:
496.00  -16.00  162.45  -16.00   80.44  -16.00   52.74  -16.00   38.63  -16.00
 
29.93  -16.00   23.95  -16.00   19.50  -16.00   16.00  -16.00   13.13  -16.00
 
10.69  -16.00    8.55  -16.00    6.63  -16.00    4.85  -16.00    3.18  -16.00
  
1.58  -16.00
The result of IDFT:
  
0.00   32.00   64.00   96.00  128.00  160.00  192.00  224.00  256.00  288.00
320.00  352.00  384.00  416.00  448.00  480.00  512.00  544.00  576.00  608.00
640.00  672.00  704.00  736.00  768.00  800.00  832.00  864.00  896.00  928.00
960.00  992.00
Press any key to 
continue . . .
数字图像处理基础实验(五):频域滤波 一、实验内容及原理 1、 灰度图像的 DFT 和 IDFT 具体内容:利用 OpenCV 提供的 cvDFT 函数对图像进行 DFT 和 IDFT 变换 。 2、 利用理想高通和低通滤波器对灰度图像进行频域滤波 具体内容:利用 cvDFT 函数实现 DFT,在频域上利用理想高通和低通滤波 器进行滤波,并把滤波过后的图像显示在屏幕上(观察振铃现象),要求截止频 率可输入。 3、 利用布特沃斯高通和低... 阅读详情

相关推荐

opencv_cvDFT_test.c

用C语言程序调用opencv对一维数据进行傅里叶变换DFT和傅里叶逆变换IDFT,详细配置说明可以参考:https://blog.youkuaiyun.com/u012297921/article/details/120907238

OpenCV cvDFT 傅里叶变换

#include #include #include void fft2shift(IplImage *src, IplImage *dst) { IplImage *image_Re = 0, *image_Im = 0; int nRow, nCol, i, j, cy, cx; double scale, shift, tmp13, tmp24; image_Re = cvCrea

u013777833的专栏 2177

别再为模糊的3D重建头疼了!手把手教你用3DSlicer处理DICOM数据,搞定医学影像三维可视化

本文详细解析了医学影像三维重建中常见的模糊问题,并手把手教你使用3DSlicer处理DICOM数据,实现精准的三维可视化。从层厚设置到数据格式转换,再到重建算法选择和渲染参数微调,提供了一套完整的优化方案,特别适合临床医生和医学影像处理人员提升工作效率。

weixin_28693447的博客 246

cvDFT

傅里叶变换是复数域变换。而一个复数在openCV中需要用双通道来表示,第一通道表示实部,第二通道表示虚部。 如  复数1+2i,1保存在第一通道,2保存在第二通道。 代码示例: // cvDFT.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #include #inc

Luckily118的专栏 1631

使用html和JavaScript实现一个简易的物业管理系统

码实现了一个简易的物业管理系统,主要使用了以下技术和功能: 1.主要技术 使用的技术: HTML: 用于构建网页的基本结构。 包括表单、表格、按钮等元素。 CSS: 用于美化网页的外观和布局。 设置字体、颜色、边距、对齐方式等样式。 JavaScript: 用于处理用户交互和动态更新页面内容。 实现了新增住户、查询住户、编辑住户、删除住户等功能。 处理表单提交事件,验证输入数据,并更新表格显示。 DOM操作: 使用 JavaScript 直接操作 HTML DOM 元素。 动态

weixin_41312759的博客 1777

椭圆曲线点加的推导公式(一)

椭圆曲线点加推导过程

qq_32100199的博客 1516

opencv使用cvDFT 傅立叶转换的例子 频域滤波 低通 高通

opencv使用cvDFT 傅立叶转换的例子 在OpenCV中使用cvDFT 傅立叶转换的例子源码及其测试结果 TAG: OpenCV  傅立叶转换  cvDFT       int main(int argc, char* argv[]) {     unsigned int i;     CvMat* s = cvCreateMat(1,32,CV_32FC1

笨笨D幸福 - 后花园 9832

图形化界面无限转圈?CentOS 7的SELinux避坑指南(附命令行修复实录)

本文详细解析了CentOS 7图形界面启动时无限转圈或卡在'starting switch root'的故障原因,主要与SELinux安全策略冲突有关。提供了三种修复方案:临时禁用SELinux、重装策略包和精细调整策略,并分享了长期维护建议,帮助用户平衡系统安全性与可用性。

potato的博客 798

离散傅立叶变换(DFT)

#include #include #include // Rearrange the quadrants of Fourier image so that the origin is at // the image center // src & dst arrays of equal size & type void cvShiftDFT(CvArr * src_arr, CvArr

数学屌丝走在it的道路上 1345

陷波滤波器设计以及Simulink仿真

离散型陷波滤波器设计以及simulink仿真

hmq252198885的博客 3165

【教程4>第4章>第22节】FFT频偏估计方法,导频+cordic频偏估计方法,costas环的性能对比

频偏范围适应性:Costas 环频偏锁定和基于 PN 导频和 CORDIC 算法的频偏估计都可以通过调整参数来适应一定范围的频偏,但 Costas 环的频率捕获范围相对较窄,而基于 PN 导频和 CORDIC 算法的频偏估计,基于 FFT 变换频偏估计对频偏范围较大。在高信噪比条件下,三种方法都可以获得较高的估计精度,但在低信噪比环境中,基于 PN 导频和 CORDIC 算法的频偏估计,基于 FFT 变换频偏估计这两个开环方案相对更具优势,而Costas 环频偏锁定的精度可能会受到较大影响.

FPGA/MATLAB学习教程/源码/项目合作开发 609

傅里叶三角级数和复数表示的级数之间的转变

在opencv中提供了一个函数叫cvDFT,这个函数可以将一系列数值进行傅里叶变换,它可以进行正变换,也可以进行逆变换。假如一个数组的长度是64,在进行正向傅里叶变换后的形式为 其中Re代表实部,Im代表虚部。这样实际的大小减少了一半。 这种转后是用复数的形式表示的,也就是 但是实际情况中我需要用的是三角级数的表示方法,得到相关的三角级数的系数,三角级数的系数表示方法我们在高等数学里

ONE OF LIST 4832

PyTorch实战(7)——循环神经网络

本节介绍了循环神经网络 (RNN) 及其在序列数据处理中的应用。首先对比了卷积神经网络 (CNN) 与 RNN 的差异,指出 RNN 通过循环连接建模时序依赖关系。随后详细梳理了 RNN 的发展历程,包括基础 RNN、双向 RNN、LSTM、GRU 等变体的结构特点及改进动机,其中 LSTM 通过门控机制解决长程依赖问题,GRU 则进一步简化结构。接着通过 IMDb 情感分析实战,演示了如何使用 PyTorch 实现文本预处理、RNN 模型构建及训练评估流程,最后探讨了注意力机制如何提升 RNN 性能。

盼小辉丶的博客 1万+

OpenCV实现傅里叶变换

[cpp] view plaincopy "font-size:18px;">#include    #include    #include    #include          /**************************************************************************  //傅里叶变换 

aiwen521125的专栏 820

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

利用python对图像进行傅里叶变换_python用opencv 图像傅里叶变换

傅里叶变换dft = cv.dft(np.float32(img),flags = cv.dft_complex_output)傅里叶逆变换img_back = cv.idft(f_ishift)实验:将图像转换到频率域,低通滤波,将频率域转回到时域,显示图像import numpy as npimport cv2 as cvfrom matplotlib import pyplot as plt...

weixin_31517321的博客 363

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

离散傅里叶变换2 用标记方法而不是归一化

核心函数:cvDFT程序:代码:#include"cv.h" #include"cxcore.h" #include"highgui.h" #include<iostream> intDFT2(intargc,char**argv)//离散傅里叶变换(DiscreteFourierTransform,缩写为DFT) { IplImage*s...

weixin_34411563的博客 260

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

傅里叶变换 彩色

程序:代码:#include"cv.h" #include"cxcore.h" #include"highgui.h" #include<iostream> intDFTColor(intargc,char**argv)//离散傅里叶变换(DiscreteFourierTransform,缩写为DFT) { IplImage*src=cvL...

weixin_34220834的博客 839

Opencv 实现图像的离散傅里叶变换(DFT)、卷积运算(相关滤波)

我是做Tracking 的,对于速度要求非常高。发现傅里叶变换能够使用。于是学习之。 核心: 最根本的一点就是将时域内的信号转移到频域里面。这样时域里的卷积能够转换为频域内的乘积! 在分析图像信号的频率特性时,对于一幅图像,直流分量表示预想的平均灰度。低频分量代表了大面积背景区域和缓慢变化部分,高频部分代表了它的边缘,细节,跳跃部分以及颗粒噪声. 因此,我们能够做对应的锐...

weixin_33877885的博客 326

图像处理实验5:频域滤波

要求 灰度图像的 DFT 和 IDFT。 具体内容:利用 OpenCV 提供的 cvDFT 函数对图像进行 DFT 和 IDFT 变换 利用理想高通和低通滤波器对灰度图像进行频域滤波具体内容:利用 cvDFT 函数实现 DFT ,在频域上利用理想高通和低通滤波器进行滤波,并把滤波过后的图像显示在屏幕上(观察振铃现象),要求截止频率可输入。 利用布特沃斯高通和低通滤波器对灰度图像进行频域滤波。具体...

Tifa_Best的专栏 1580

[openCV]图像的傅里叶频谱

1.图像的傅里叶频谱的意义之前的博文其实已经归纳过这方面的内容了。我们常用的图像平滑处理,其实就是一个低通滤波,一定程度上去除高频信号,可以使得图像变得柔和(也就是平滑)。但是,在去除周期性噪声时候,空间域内的滤波(卷积)就不是那么好操作了。所以,这里时候,无论是理解起来方便,还是其他原因,都需要在频域内进行滤波。

zhoufan的专栏 1万+
上一篇: OPENCV下针对IplImage实现图像增强处理
下一篇: 简单使用 cvCalcPCA 计算主成分的代码
hardVB
博客等级 码龄26年 257粉丝 58原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值