Re: [Linux-uvc-devel] question about bayer sensors

2011-09-02 Thread Alexey Fisher

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

2011-09-01 Thread Alexey Fisher

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

2011-08-29 Thread Alexey Fisher

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-08-29 Thread jean-philippe francois
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