From 9f489bb3a996315c4dd55998fa146a420b86e1fa Mon Sep 17 00:00:00 2001 From: heziqi Date: Wed, 29 Oct 2014 21:41:10 +0800 Subject: [PATCH] Added load_mask and feature_matrix in envi class --- envi/envi.h | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/envi/envi.h b/envi/envi.h index 8d1eb07..aba052e 100644 --- a/envi/envi.h +++ b/envi/envi.h @@ -587,29 +587,23 @@ public: } return false; } - /* + //load mask from maskfile and save it into memory bool load_mask(unsigned char * mask, std::string maskname){ //open the mask file - cimg_library::CImg mask_image(maskname.c_str(),true); + cimg_library::CImg mask_image(maskname.c_str()); //save mask file into memory - for (unsigned i = 0; i < header.lines * header.samples; i++) - mask[i] = mask_image.at(i); //how to copy value from cimg class? + memcpy(mask, mask_image.data(), mask_image.size()); //close mask file mask_image.clear(); return true; - }*/ + } //p:start positon; N: number of pixels saved in X; - bool feature_matrix(void * X, std::string maskname, unsigned char * mask, unsigned start, unsigned N) + bool feature_matrix(void * X, unsigned char * mask, unsigned start, unsigned N) { - cimg_library::CImg mask_image(maskname.c_str()); - //save mask file into memory - mask = mask_image.data(); //save pixels in X as floating numbers float * p = (float *)malloc(header.bands * sizeof(float)); - - //use mask to save valid pixel in X unsigned bandnum = header.samples * header.lines; //calculate pixel numbers in a band unsigned count = 0; //for counting use unsigned j = 0; //memory the pointer location in X -- libgit2 0.21.4