reading .raw with LibRaw iProcessor example
Hello everyone,
I am trying to read a raw image with libraw using the example in the API page " https://www.libraw.org/docs/API-overview.html"
I wrote the following code and get a -2 file reading error.
I was able to read the same raw image with Python (fromfile) specifying bit ordering to 'big'. What should I do to read to do this with libraw in C++?
#include <iostream>
#include "libraw/libraw.h"
#include "libraw/libraw.h"
int main(int argc, char **argv)
{
LibRaw iProcessor;
// Open the file and read the metadata
char *fname = (char *)"/home/santana/myraw.raw";
int isOK = iProcessor.open_file(fname);
std::cout << " is ok ? " << isOK << std::endl;
printf("Image size: %d x %d\n", iProcessor.imgdata.sizes.width, iProcessor.imgdata.sizes.height);
iProcessor.unpack();
// Convert from imgdata.rawdata to imgdata.image:
iProcessor.raw2image();
for (int i = 0; i < iProcessor.imgdata.sizes.iwidth * iProcessor.imgdata.sizes.iheight; i++)
{
printf("i=%d R=%d G=%d B=%d G2=%d\n", i, iProcessor.imgdata.image[i][0],
iProcessor.imgdata.image[i][1], iProcessor.imgdata.image[i][2],
iProcessor.imgdata.image[i][3]);
}
// Finally, let us free the image processor for work with the next image
iProcessor.recycle();
return EXIT_SUCCESS;
}output :
is ok ? -2
Image size: 0 x 0

Recent comments