tidier version but still not efficient

main
WilliamLiuACPC 3 years ago
parent d3fba151dd
commit 286dd57b18

@ -546,24 +546,27 @@ namespace hdrplus
} }
} }
void finish::process(std::string burstPath, cv::Mat mergedBayer,int refIdx){ void finish::process(const hdrplus::burst& burst_images){
// copy mergedBayer to rawReference // copy mergedBayer to rawReference
std::cout<<"finish pipeline start ..."<<std::endl; std::cout<<"finish pipeline start ..."<<std::endl;
this->refIdx = refIdx; this->refIdx = burst_images.reference_image_idx;
this->burstPath = burstPath; // this->burstPath = burstPath;
// this->mergedBayer = processMergedMat(mergedBayer,CV_16UC1);//loadFromCSV("merged.csv", CV_16UC1); // std::cout<<"processMerged:"<<std::endl;
// show20_20(mergedB);
// this->mergedBayer = processMergedMat(mergedB,CV_16UC1);//loadFromCSV("merged.csv", CV_16UC1);
// std::cout<<"processMerged:"<<std::endl; // std::cout<<"processMerged:"<<std::endl;
// show20_20(this->mergedBayer); // show20_20(this->mergedBayer);
this->mergedBayer = loadFromCSV("merged.csv", CV_16UC1); this->mergedBayer = loadFromCSV("merged.csv", CV_16UC1);
std::cout<<"csv:"<<std::endl; std::cout<<"csv:"<<std::endl;
show20_20(this->mergedBayer); // show20_20(this->mergedBayer);
load_rawPathList(burstPath); // load_rawPathList(burstPath);
// read in ref img // read in ref img
bayer_image* ref = new bayer_image(rawPathList[refIdx]); // bayer_image* ref = new bayer_image(rawPathList[refIdx]);
bayer_image* ref = new bayer_image(burst_images.bayer_images[this->refIdx]);
cv::Mat processedRefImage = postprocess(ref->libraw_processor,params.rawpyArgs); cv::Mat processedRefImage = postprocess(ref->libraw_processor,params.rawpyArgs);
std::cout<<"size ref: "<<processedRefImage.rows<<"*"<<processedRefImage.cols<<std::endl; std::cout<<"size ref: "<<processedRefImage.rows<<"*"<<processedRefImage.cols<<std::endl;
@ -588,7 +591,8 @@ namespace hdrplus
} }
// get the bayer_image of the merged image // get the bayer_image of the merged image
bayer_image* mergedImg = new bayer_image(rawPathList[refIdx]); // bayer_image* mergedImg = new bayer_image(rawPathList[refIdx]);
bayer_image* mergedImg = new bayer_image(burst_images.bayer_images[this->refIdx]);
mergedImg->libraw_processor->imgdata.rawdata.raw_image = (uint16_t*)this->mergedBayer.data; mergedImg->libraw_processor->imgdata.rawdata.raw_image = (uint16_t*)this->mergedBayer.data;
// copy_mat_16U_3(mergedImg->libraw_processor->imgdata.rawdata.raw_image,this->mergedBayer); // copy_mat_16U_3(mergedImg->libraw_processor->imgdata.rawdata.raw_image,this->mergedBayer);
cv::Mat processedMerge = postprocess(mergedImg->libraw_processor,params.rawpyArgs); cv::Mat processedMerge = postprocess(mergedImg->libraw_processor,params.rawpyArgs);

@ -34,23 +34,12 @@ void hdrplus_pipeline::run_pipeline( \
// Run merging // Run merging
merge_module.process( burst_images, alignments ); merge_module.process( burst_images, alignments );
cv::Mat mergedBayer = burst_images.merged_bayer_image.clone(); // save merged Image value
hdrplus::writeCSV("merged.csv",burst_images.merged_bayer_image);
std::cout<<std::endl<<"size: "<<mergedBayer.rows<<"*"<<mergedBayer.cols<<std::endl;
// for(int i=0;i<20;i++){
// u_int16_t* ptr = (u_int16_t*)mergedBayer.data;
// for(int j=0;j<20;j++){
// std::cout<<*(ptr+i*mergedBayer.cols+j)<<", ";
// }
// std::cout<<std::endl;
// }
hdrplus::writeCSV("merged.csv",mergedBayer);
// Run finishing // Run finishing
finish_module.process( burst_path, burst_images.merged_bayer_image, burst_images.reference_image_idx); finish_module.process( burst_images);
} }
} // namespace hdrplus } // namespace hdrplus

Loading…
Cancel
Save