如何导入 pywt 库,它是 dev c ++ 中的 python 库?

how to import the pywt library which is a python library in dev c ++?

我正在尝试 运行 此代码已被我联系不上的人获取, 代码计算方阵的 dwt2 和 idwt2

#include <iostream>
#include <pywt>
#include <numpy>

using namespace std;

int main() {
int Matrix=numpy.array([[1.0,2.0,3.0,4.0,],[5.0,6.0,7.0,8.0,],[9.0,10.0,11.0,12.0,],[13.0,14.0,15.0,16.0,],])

cout << "-----------------------------------------------------------------";

cout << "Matrix : \n";

cout << Matrix[0];

int A,(B,C,D)=pywt.dwt2(Matrix,'haar', mode='symmetric')

cout << "-----------------------------------------------------------------";
cout << "A : \n";
cout << A[0];
cout << "-----------------------------------------------------------------";
cout << "B : \n";
cout << B[0];
cout << "-----------------------------------------------------------------";
cout << "C : \n";
cout << C[0];
cout << "-----------------------------------------------------------------";
cout << "D : \n";
cout << D[0];

int newMatrix=pywt.idwt2((A,(B,C,D)),'haar',mode='symmetric')

cout << "-----------------------------------------------------------------";
cout << "newMatrix : \n";
cout << newMatrix;

return 0;
}

Link 对于 Numpy 库:https://github.com/numpy/numpy Link 对于 pywt 库:https://github.com/PyWavelets/pywt

他说这些库同时用于 python 和 c++,我只需要将它们放在与 C++ 代码相同的文件夹中,但我是 C++ 的新手,我已经尝试了很多使其工作并将库包含在 C:\Program Files (x86)\Dev-Cpp\MinGW64 中的方法,但我仍然遇到相同的错误,[Error] pywt: No such file or directory,我无法导入库并使代码工作,你能帮我吗。

非常感谢。

我看到您使用的是 MinGW64,因此我认为您使用的是 CodeBlocks IDE。要在 CodeBlocks 中添加库,请转到设置->编译器->全局编译器设置->搜索目录-> 并从下载的文件夹中添加包含目录。然后,对链接器设置进行操作,然后添加所需的库。

您可以阅读一篇有用的文章 here !

顺便说一下,您可以只使用 C++ 来完成。我认为这样做更容易。那是代码:

#include <iostream>

using namespace std;

int main()
{
    //this is the declared matrix
    float matrix[4][4]={{1.0,2.0,3.0,4.0},{5.0,6.0,7.0,8.0},{9.0,10.0,11.0,12.0},{13.0,14.0,15.0,16.0}};

    //this is the equivalent of the following line from your code
    //cout << "----------------------------------------------------";
    //I used a for loop to print 65 - characters
     for(int i=0;i<65;i++)cout<<'-';

    cout<<"\nMatrix:\n";

    //That's how basically we print a matrix, using 2 for loops
    //one for each row, and one for each column
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)cout<<matrix[i][j]<<' ';

        cout<<'\n';

        for(int i=0;i<65;i++)cout<<'-';

        cout<<'\n';
    }

}

这是一张图片,结果是: result