Re: [Linux-uvc-devel] question about bayer sensors
Am 29.08.2011 09:58, schrieb jean-philippe francois: 2011/8/29 Alexey Fisher bug-tr...@fisher-privat.net mailto:bug-tr...@fisher-privat.net Hallo all, i know some people here was working with bayer raw data. I just discovered this word for me, so i need some help to understand it correctly. Normal bayer based image sensor have separate pixel for each color. Usually it made in 4 pixel squares, 1 - blue, 1 - red, 2 - green. There are different ways to precess this data but most easiest one will get one image pixel out of 4 physical pixels. This also mean, if my (for example) webcam has physical sensor size of 2MP, the real, not interpolated image data is MP*0.25. 1600x1200 (claimed resolution(2MP)) /2 = 800x600 (real/perfect image resolution(0,5MP)) Is this correct? I don't think the word 'real' is useful here. If you treat pixel data as black and white data, you can see pixel size details. Of course this black and white image is polluted by the fact that for a given visible light quantity, a green pixel won't give you the same value as a blue pixel, and the resulting image will look like a mozaic. If you take 4 pixels to make a half-sized image, you will miss some details. Not doing interpolation does not mean your image is more perfect or more real. It is just a suboptimal usage of data at your disposal. Let's suppose you could have three monochrome sensor with the same resolution as your webcam each taking the exact same image. From this image, you can construct a subsampled image at half the resolution. With bayer data, smaller details than in the subsampled 'perfect' image are available, yet you can only have and approximation of the full resolution image. The better your interpolation, the closer you are from the 'perfect' image, for some definition of perfect. Just to confirm that i understood, (i hope) the method i described before called Pixel Doubling Interpolation - the worst what i can do we bayer data :). Bilinear Interpolation, Gradient Based Interpolation.. and more - are other methods ... ___ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
Re: [Linux-uvc-devel] question about bayer sensors
Thank you for your response, i still have one more question. I found my webcam do some strange scale work. For example the image detalisation of 640x480 is equal to the image with 400x300 resolution. If i grab 800x600 and downscale it to 640x480 i get better result. Do you know how scale logic is done on webcams? Or probably where i can read about it? Am 29.08.2011 09:58, schrieb jean-philippe francois: 2011/8/29 Alexey Fisher bug-tr...@fisher-privat.net mailto:bug-tr...@fisher-privat.net Hallo all, i know some people here was working with bayer raw data. I just discovered this word for me, so i need some help to understand it correctly. Normal bayer based image sensor have separate pixel for each color. Usually it made in 4 pixel squares, 1 - blue, 1 - red, 2 - green. There are different ways to precess this data but most easiest one will get one image pixel out of 4 physical pixels. This also mean, if my (for example) webcam has physical sensor size of 2MP, the real, not interpolated image data is MP*0.25. 1600x1200 (claimed resolution(2MP)) /2 = 800x600 (real/perfect image resolution(0,5MP)) Is this correct? I don't think the word 'real' is useful here. If you treat pixel data as black and white data, you can see pixel size details. Of course this black and white image is polluted by the fact that for a given visible light quantity, a green pixel won't give you the same value as a blue pixel, and the resulting image will look like a mozaic. If you take 4 pixels to make a half-sized image, you will miss some details. Not doing interpolation does not mean your image is more perfect or more real. It is just a suboptimal usage of data at your disposal. Let's suppose you could have three monochrome sensor with the same resolution as your webcam each taking the exact same image. From this image, you can construct a subsampled image at half the resolution. With bayer data, smaller details than in the subsampled 'perfect' image are available, yet you can only have and approximation of the full resolution image. The better your interpolation, the closer you are from the 'perfect' image, for some definition of perfect. Regards, Alexey. _ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.__de mailto:Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/__mailman/listinfo/linux-uvc-__devel https://lists.berlios.de/mailman/listinfo/linux-uvc-devel ___ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
[Linux-uvc-devel] question about bayer sensors
Hallo all, i know some people here was working with bayer raw data. I just discovered this word for me, so i need some help to understand it correctly. Normal bayer based image sensor have separate pixel for each color. Usually it made in 4 pixel squares, 1 - blue, 1 - red, 2 - green. There are different ways to precess this data but most easiest one will get one image pixel out of 4 physical pixels. This also mean, if my (for example) webcam has physical sensor size of 2MP, the real, not interpolated image data is MP*0.25. 1600x1200 (claimed resolution(2MP)) /2 = 800x600 (real/perfect image resolution(0,5MP)) Is this correct? Regards, Alexey. ___ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
Re: [Linux-uvc-devel] question about bayer sensors
2011/8/29 Alexey Fisher bug-tr...@fisher-privat.net Hallo all, i know some people here was working with bayer raw data. I just discovered this word for me, so i need some help to understand it correctly. Normal bayer based image sensor have separate pixel for each color. Usually it made in 4 pixel squares, 1 - blue, 1 - red, 2 - green. There are different ways to precess this data but most easiest one will get one image pixel out of 4 physical pixels. This also mean, if my (for example) webcam has physical sensor size of 2MP, the real, not interpolated image data is MP*0.25. 1600x1200 (claimed resolution(2MP)) /2 = 800x600 (real/perfect image resolution(0,5MP)) Is this correct? I don't think the word 'real' is useful here. If you treat pixel data as black and white data, you can see pixel size details. Of course this black and white image is polluted by the fact that for a given visible light quantity, a green pixel won't give you the same value as a blue pixel, and the resulting image will look like a mozaic. If you take 4 pixels to make a half-sized image, you will miss some details. Not doing interpolation does not mean your image is more perfect or more real. It is just a suboptimal usage of data at your disposal. Let's suppose you could have three monochrome sensor with the same resolution as your webcam each taking the exact same image. From this image, you can construct a subsampled image at half the resolution. With bayer data, smaller details than in the subsampled 'perfect' image are available, yet you can only have and approximation of the full resolution image. The better your interpolation, the closer you are from the 'perfect' image, for some definition of perfect. Regards, Alexey. __**_ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.**de Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/**mailman/listinfo/linux-uvc-**develhttps://lists.berlios.de/mailman/listinfo/linux-uvc-devel ___ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel