c++ - 相当于opencv中的wavedec(matlab函数)
问题描述
我正在尝试将 matlab 代码重写为 cpp,但我仍然被这一行阻止:
[c, l]=wavedec(S,4,'Dmey');
在 opencv 中有类似的东西吗?如果有人对此有任何想法,请尝试与它分享并提前感谢。
解决方案
也许如果您将您的代码与 Python 集成,那么PyWavelet可能是一个选择。
我看到你正在寻找的功能在那里。该函数称为离散迈耶( Dmey
)。不知道你打算用它做什么,也许你正在处理一些图像或其他东西,但Dmey
没关系,不是很广泛使用。您可能只想找到一些GitHub 代码并集成到您正在做的任何事情中,看看它是否会首先工作,并且基于这些代码您还可以更改当前发布的功能的详细信息(可能会找到更有效的东西)。
一维小波分解 ( wavedec )
在您的代码中,c
代表l
系数和级别。你正在通过一个Dmey
函数的第四级。如果你有一维数据,下面的地图是你的分解的样子,我大致猜想:
Wavelets 中通常使用两种类型的分解模型,从架构的角度来看,一种称为包,类似于完整二叉树:
另一个是您最有可能使用的,计算成本较低,因为如果您愿意,它不会分解树的两个分支。它只是在树的一个分支中进行数学分解。也许,这些图像会散发出一些光芒:
1 天
2 天
笔记:
如果您在 MatLab 中有一个工作模型,您可能希望在 MatLab 中查看C/C++ 代码生成,它将自动将 MatLab 代码转换为 C++。
参考:
图片来自维基百科或mathworks.com
推荐阅读
- python - 无法从 Jupiter 笔记本打开图像 - 没有这样的文件或目录
- c# - 如何在不更改其属性的情况下在 Controller 中制作不可变的 BusinessLayer?
- c# - 如何在 VS 2008 C# 或 Vb.net 中将 Oracle Db 连接到 Windows CE 应用程序
- sql-server - 如何将 Xcode 项目连接到现有的 MsSql 服务器
- c++ - 仅具有 shared_ptr 的类左值成员函数
- cpu-architecture - 关于二进制浮点加法的一些陷阱
- javascript - 如何在点击时为 translateX() 设置动画
- postgresql - 如何在 plpgsql 中编写更新语句
- java - 如何使用 ObservableLists 在 Javafx 中创建 BarChart 或 LineChart
- python - Pandas 忽略格式化程序