Answer the question
In order to leave comments, you need to log in
How to decompose the image into frequency octaves and then reassemble?
Help to concretize while very vague and abstract idea.
Intuitively, I imagine a way to convert any image into a sequence of numbers and vice versa, without writing colors pixel-by-pixel, but without reference to exact pixels and exact colors, describing brightness changes from general-to-specific.
Using the example of a colorless (grayscale) single-channel image. Like a binary tree.
Let the first number mean what color to fill the entire canvas. Here we take the color obtained by averaging all the brightnesses.
Next, divide the canvas in half vertically and horizontally: 4 rectangles. What colors (and with what transparency - always 50%?) fill them in order to get a little closer to the original image.
Then division again, already 16.
Etc. to small details, maybe even less than a pixel.
The disadvantage here is in the clear boundaries of each of the "zones". Therefore, it is probably not solid colors with clear boundaries that should be described, but gradients. Two-point. 4-point.
The meaning of such a record is that you can compare images of different resolutions and those that have undergone minor distortions - somewhere there is a hole, somewhere there is a sticker - for similarities. The "head" of such an image recording will be similar.
And reducing the image in such a recording is cutting off the “tail”.
Are there any graphics codecs that use a similar approach?
Intuition was inspired by one retouching technique in Photoshop.
Answer the question
In order to leave comments, you need to log in
This idea is called wavelet decomposition.
In particular, what you are describing is similar to Haar wavelets.
Wavelets are used, for example, in jpeg2000 codecs
. Examples of image editing ("large wrinkles and pimples can be removed in a separate layer without damaging the fine skin texture") are in the Wavelet toolbox, Matlab.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question