cnpy: c++中讀取npy文件數組

參考:

https://github.com/rogersce/cnpy
git clone https://github.com/rogersce/cnpy.git

然後使用cmake-gui+visual studio生成cnpy的dll和lib;在打開sln文件生成項目時會出現如下錯誤,不用管它,lib和dll文件已經生成,拿到自己的項目中用就是了。(我這統一使用vs2017 x64 Release)
在這裏插入圖片描述
然後新建個c++控制檯工程,include cnpy頭文件目錄,include含有cnpy生成lib的目錄,添加lib名,把cnpy的dll放入項目目錄。

按照https://github.com/rogersce/cnpy/blob/master/example1.cppinclude一堆頭文件,讀取一個保存10103數組的npy文件

#include "pch.h"
#include "cnpy.h"
#include<complex>
#include<cstdlib>
#include<iostream>
#include<map>
#include<string>
using namespace std;

int main()
{
	//srand(0);
	cnpy::NpyArray arr = cnpy::npy_load("cnpy_test_rgb.npy");
	std::complex<int>* loaded_data = arr.data<std::complex<int>>();
	for (int i = 0; i < 300; i++) {
		cout << loaded_data[i] << ' ';
	}

	cout << arr.shape[0] << " " << arr.shape[1] << " " << arr.shape[2] << endl;
	cout << "Hello World!\n";
}

會如下錯誤報錯

fatal error C1083: 無法打開包括文件: “zlib.h”: No such file or directory

再在github上搜zlib,git clone+cmake-gui+visual studio生成zlib的dll和lib,再它們和對應的頭文件加到上面的項目,然後還報如下錯誤,然後只要再把編譯時的目錄...\zlib-1.2.11\build_64include到項目中去就行了

fatal error C1083: 無法打開包括文件: “zconf.h”: No such file or directory

控制檯輸出如下
在這裏插入圖片描述
輸出數組的元素在實部體現,如果是三通道的數組的話,元素排列爲(r1,g1,b1,r2,g2,b2,…)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章