MATLAB Answers

what is subpixel

133 views (last 30 days)
Jim
Jim on 23 May 2012
Hi
what is subpixel accuracy in a image?
How can we say that the image is having sub pixel accuracy or not?
Thanks in advance

Answers (2)

Walter Roberson
Walter Roberson on 23 May 2012
It means that the data available to construct the displayed image statistically exceeds one sample per displayed pixel.
For example if you had a 256 x 256 data array that you were displaying at 64 x 64 pixel resolution, then the data is sufficient to give you subpixel accuracy.
The extra data does not need to be uniformly spaced for the purpose of being "subpixel": if you have more (non--redundant) data than you have discrete pixels, then the term "subpixel" applies.
Another way of phrasing it is that your available data must be down-sampled for output purposes.
One field where having extra data is common, is CGI (Computer Generated Imagery). When you are doing animation (for example) then having extra data can allow you to be more realistic on constructing lighting and shadows and specular reflection.
Likewise, suppose you were going to output a low-pass filtered version of an image. You could get a more accurate representation of "real life" if you applied the low-pass filter to the full (extra-data) version and then converted that down to your final resolution.
An analogy in signal processing would be a situation in which you only need to output (say) 60 Hz for your signal, but you sample your input signal at (say) 720 Hz, apply all the processing and filtering to that 720 Hz signal, and then down-sample to 60 Hz for output. If you have more precise input data, using it will give you more precise results (except for round-off error perhaps). It might, however, be "more expensive" (time, electricity, complexity) to work with extra data, so it is not always done.
  2 Comments
Mohammad Al Nagdawi
Mohammad Al Nagdawi on 6 Oct 2018
very funny
you are great guys :)

Sign in to comment.


Stephen
Stephen on 24 May 2012
sometimes for tracking purposes, an object will be smaller than the pixel size of the image, but it will still affect the intensity of surrounding pixels, usualy according to the optical transfer function of the camera used to record the image (on a microscope for example). people have fit 2D-gaussian profiles to the intensity data and use the resulting mean location to acquire the subpixel accuracy. You can also use a kalman filter if you have some data over time in the presence of noise, but you know how the object SHOULD be moving. that's harder to explain in a single paragraph though
  1 Comment
Walter Roberson
Walter Roberson on 24 May 2012
Ah yes, I keep overlooking the possibility of sources being very small.
A further example of small sources being able to affect output occurs in actual camera electronics. CCD cameras traditionally had problems with electron bleed: a sufficiently high intensity in one detection spot would excite surrounding detection spots, bleeding off electrons to those spots and increasing the apparent light levels in those locations. This was sometimes observed as a "halo" around sufficiently bright points.
With sufficiently bright and sufficiently point-like sources you can also get abnormalities due to heating or localized electronic or materials effects.
Anyhow...

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by