Hello there,
I'm trying to get the best possible quality image using MMAPI on a N95. My goal is to obtain a grayscaled image without any loss. Then convert it by myself into jpeg. Even if I get a rgb image, there's no problem in converting to grayscale.
My first attempt was to use:
"encoding=jpeg&colors=yuv444&width=640&height=480&quality=100"
but it seems that yuv is not suported for snapshots. It would be the best solution because from this I only should get Y channel and encode a single component jpeg.
then I tried with several formats:
1. encoding=png&colors=gray8&width=640&height=480
2. encoding=png&colors=rgb888&width=640&height=480
3. encoding=bmp&colors=rgb888&width=640&height=4803
6. encoding=jpeg&width=640&height=480&quality=100
Examining the images, one can see a lot of quality losses (even in bmp and png [bmp is supossed to be almost pure raw format]). It seems that images are captured as jpeg and the converted to the final format. In fact you can see the 8x8 pixels boxes containing the same losses in a jpeg at 100 of quality, than in a BMP rgb888.
Can anoyone confirm this? And is this is the case, which is the point to get a (640x480x3 + bmpheaders.length) bytes bmp image is the pixels value are the same that in a compressed jpeg?
Just another question: How can I get raw rgb bytes without any compression? Or even better if I can get only the luminance channel without doing any conversion by myself and letting the underlying processes doing it in it's 'standard' way.
Regards

Reply With Quote

