Jump to content


Photo

Advanced texture analysis and generation


  • Please log in to reply
3 replies to this topic

#1 ramses12

ramses12

    6

  • GMC Member
  • 5769 posts
  • Version:GM8.1

Posted 12 June 2012 - 08:23 AM

Good afternoon.
I was recently involved in using graphics editing software for image processing, including texture manipulation. Also being interested in image analysis and especially synthesis, I have thought of the following concept: Procedurally analyzing and rendering textures, which means that from a given photographed or pre-rendered texture, another visually similar texture is generated automatically. I would like to start a discussion about procedures and algorythms for achieving such results.

As an example of what I am trying to describe, here are a few similar textures:
Posted Image


Thank you for the time.
  • 1

#2 chance

chance

    GMC Member

  • Reviewer
  • 5837 posts
  • Version:GM:Studio

Posted 14 June 2012 - 10:42 AM

I have thought of the following concept: Procedurally analyzing and rendering textures, which means that from a given photographed or pre-rendered texture, another visually similar texture is generated automatically.

There are several ways to do this. But the best way is to take the (2D) Fourier transform of the texture, to compute the spatial frequency spectrum. Once you have the spatial frequency spectrum, you can adjust the weights/shapes to make slight changes -- or add some randomness -- and then transform back to the spatial domain. This will produce a new texture with the same spatial statistics of the original, but a different realization.

If you don't have access to a Fourier transform tool, you can compute quantities such as the spatial auto-correlation -- basically a dot-product of an image slice with a "shifted" copy of itself (for a range of shifted values). Once you have these quantities, you can use them to test the quality of your own "created" algorithm or functional fit.

There are also techniques that involve over-laying different spatial gratings (of various frequencies) on the image. This can reveal the dominant spatial frequency content of the image. Sort of like a rudimentary Fourier analysis without the transform.

.

Edited by chance, 14 June 2012 - 10:44 AM.

  • 0

#3 ramses12

ramses12

    6

  • GMC Member
  • 5769 posts
  • Version:GM8.1

Posted 14 June 2012 - 11:56 AM

There are several ways to do this. But the best way is to take the (2D) Fourier transform of the texture, to compute the spatial frequency spectrum. Once you have the spatial frequency spectrum, you can adjust the weights/shapes to make slight changes -- or add some randomness -- and then transform back to the spatial domain. This will produce a new texture with the same spatial statistics of the original, but a different realization.

Good point. I'll look into harmonic analysis.

you can compute quantities such as the spatial auto-correlation -- basically a dot-product of an image slice with a "shifted" copy of itself (for a range of shifted values).

You mean something like finding the spectral differences in areas from different points in the image and similarities between these differences?

There are also techniques that involve over-laying different spatial gratings (of various frequencies) on the image. This can reveal the dominant spatial frequency content of the image.

Sort of a channel dissection, right? Pattern finding still needs procedures you described in the first way though. But this could be a much easier approach.
  • 0

#4 chance

chance

    GMC Member

  • Reviewer
  • 5837 posts
  • Version:GM:Studio

Posted 15 June 2012 - 11:17 AM

you can compute quantities such as the spatial auto-correlation -- basically a dot-product of an image slice with a "shifted" copy of itself (for a range of shifted values).

You mean something like finding the spectral differences in areas from different points in the image and similarities between these differences?

You could use it for that... but it's not really reliable if your sample size is too small. So it's usually computed over the entire image.

It's a good way to check the degree of randomness, or to identify a particular dominate spatial frequency in the image. It's more used as a comparative tool from one image realization to another. Not really for identifying the spectral content of one particular image. That's what the FFT is for.
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users