bool saveImage(string filepath, unsigned char *data, raspicam::RaspiCam &Camera){ std::ofstream outFile (filepath.c_str(), std::ios::binary); outFile << "P6\n"; outFile << Camera.getWidth() << " " << Camera.getHeight() << " 255\n"; outFile.write( (char*) data, Camera.getImageBufferSize() ); return true; }
void saveImage ( string filepath,unsigned char *data,raspicam::RaspiCam &Camera ) { std::ofstream outFile ( filepath.c_str(),std::ios::binary ); if ( Camera.getFormat()==raspicam::RASPICAM_FORMAT_BGR || Camera.getFormat()==raspicam::RASPICAM_FORMAT_RGB ) { outFile<<"P6\n"; } else if ( Camera.getFormat()==raspicam::RASPICAM_FORMAT_GRAY ) { outFile<<"P5\n"; } else if ( Camera.getFormat()==raspicam::RASPICAM_FORMAT_YUV420 ) { //made up format outFile<<"P7\n"; } outFile<<Camera.getWidth() <<" "<<Camera.getHeight() <<" 255\n"; outFile.write ( ( char* ) data,Camera.getImageBufferSize() ); }
int captureImage(raspicam::RaspiCam &Camera, unsigned char **data) { *data = new unsigned char [ Camera.getImageBufferSize()]; Camera.grab(); Camera.retrieve(*data); size_t i = 0; while (++i < nFramesCaptured) { Camera.grab(); Camera.retrieve(*data); } return SUCCESS; }