MATLAB: Regarding Increase Resolution

digital image processingimageImage Processing Toolboxresolution

Related to Digital Image Processing:
Person Said: "You are saying we can't increse resolution from one static image"
I asked: Are you talking about interpolation?
Person said: No
I said: You cant increse the resolution of a image from single image, it can possible if you have stack of images capturing with variation of focus plane (Like burst), then you can infuse to make high resolution images, like composite one image.
Person did not reply.
Am I right or wrong?

Best Answer

I'll take a stab at it.
There are many tmes when we see in the movies, on TV, the idea that you can get almost anything out of an image, expanding a single pixel into a perfectly clear license plate number. But there are limits to what you can see.
Sometimes, we might have a very high resolution image, hundreds of millions of pixels. But when you look at the image on your basic computer monitor, you only see the broad strokes, as if you were standing a several hundred feet away looking at the Mona Lisa. If so, then, yes, you can expand what you are looking at, essentially cropping parts of the image away. This works until you get to the point where the pixels themselves start to be noticeable. But this is NOT an increase of resolution, merely the effect of standing very close to the picture, cropping away the irrelevant parts. And some pictures are taken at a very high resolution indeed.
An increase of resolution can come about IF you have additional information about the image. If the image is assumed to be essentially a smooth surface, then we could use interpolation methods. Those interpolation mathods, IF they can assume that each pixel is smoothly related to its neighbors, then the interpolation can resolve finer details of the surface. (For an RGB image, interpolate each of the red, green, and blue channels independently.) This is not any different from sampling a sine wave at fixed intervals, then using perhaps a spline interpolant to recover the original smooth shape of the sine wave. And this might be acceptable for SOME images, but it is hardly likely to be appropriate for a general image taken essentially as a photograph. There, the image content is hardly likely to be some smooth, well behaved underlying surface. As such, a higher order interpolant that employs a smoothness assumption to recover deeper structrure makes very little sense. You cannot create signal where none exists.
There are other things you might do however. You might be able to recover information in an image in some sense, based perhaps on an assumption of a known motion blur, or perhaps a known camera artifact. This is more of an enhancement issue of course, not a resolution increase.
Also, you can use multiple images, perhaps from a video sequence, using information from all of the images to provide a finer resolution at some location.
So in general, no, from a single image, you cannot simply increase the resolution. Unless of course, you are on TV, where anything is possible.