MatlabReader update

This commit is contained in:
kradchen
2023-05-09 16:33:05 +08:00
parent c3912ca931
commit 20b13f1e52
2 changed files with 16 additions and 0 deletions

View File

@@ -23,6 +23,20 @@ MatlabReader::~MatlabReader()
Mat_Close(mMatFile);
}
std::shared_ptr<short> MatlabReader::readint16(const std::string& aFieldName, size_t& aSize)
{
if(mMatFile == nullptr)
{
return std::shared_ptr<short>();
}
matvar_t* matvar = Mat_VarRead(mMatFile, aFieldName.c_str());
aSize = matvar->nbytes / static_cast<unsigned long long>(matvar->data_size);
short* resultDara = new short[aSize];
std::copy((short*)matvar->data,(short*)matvar->data+aSize,resultDara);
std::shared_ptr<short> result();
return std::shared_ptr<short>(resultDara,std::default_delete<short[]>());
}
Aurora::Matrix MatlabReader::read(const std::string& aFieldName)
{
if(mMatFile == nullptr)

View File

@@ -13,6 +13,8 @@ public:
explicit MatlabReader(const std::string& aFilePath);
~MatlabReader();
Aurora::Matrix read(const std::string& aFieldName);
std::shared_ptr<short> readint16(const std::string& aFieldName,size_t& size);
private:
mat_t* mMatFile;