Using Unprocessed raw data for OpenCV
Hi everyone,
First of all thanks for that wonderful library !
I've some issues, passing Raw Datas to an OpenCV Mat.
At first i used dcraw, but there is too much processing for me, my output images is blurred and pinked (yeah my picture has too much red in it i don't know why). So i tried to change dcraw processing params, but it was worse.
So i'm trying to used the unprocessed data and to fill a cv::Mat with it ! I read a lot of topics in this forum, and tried a lot of fixes, but i couldn't manage to do what i needed.
Image::Image(const char* file) { LibRaw rawProcessor; libraw_processed_image_t *tmpImg; if(rawProcessor.open_file(file) != LIBRAW_SUCCESS) { // !!! Exception to handle !!! } else { rawProcessor.unpack(); //rawProcessor.raw2image(); //rawProcessor.imgdata.params.no_interpolation = 1; //rawProcessor.imgdata.params.no_auto_scale = 1; //rawProcessor.imgdata.params.no_auto_bright = 1; //int check = rawProcessor.dcraw_process(); //tmpImg = rawProcessor.dcraw_make_mem_image(&check); // Init image Img = cv::Mat(rawProcessor.imgdata.sizes.width, rawProcessor.imgdata.sizes.height, CV_16UC3, rawProcessor.imgdata.rawdata.raw_image); // Init datas cameraModel = (std::string) rawProcessor.imgdata.idata.make + "-" + rawProcessor.imgdata.idata.model; shutterTime = rawProcessor.imgdata.other.shutter; } // Free rawProcessor rawProcessor.recycle(); }
And I can't do a single thing on this matrix. It seems that rawProcessor.imgdata.rawdata.raw_image is empty or Null ...
If anyone can help me, i just come back to cpp after a long break using matlab i may make some basic cpp mistakes and i'm really sorry about that.
Greetings
bdaniel
Recent comments