Logo by Cyclops - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Support us via Flattr FLATTR Link
 
*
Welcome, Guest. Please login or register. March 29, 2024, 01:02:22 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Image convolution  (Read 3058 times)
0 Members and 1 Guest are viewing this topic.
matsoljare
Fractal Lover
**
Posts: 215



WWW
« on: March 03, 2013, 10:35:00 PM »

Most on here are probably knowledgable enough to understand the meaning of convolution - it's what's used to generate blur, sharpening and other types of filters, as well as filtering and EQing in the audio domain.

But the programs i know of doesn't offer much in terms of custom convolution - the ubiqotous "custom filter" function typically only lets you specify a 5x5 grid, or not much more. Technically, a convolution matrix is just an image, so do you know of any programs that let you load an entire high resolution image to be used as a convolution filter?

I'm especially interested in using an image to convolve itself, or a flipped / rotated version, but other combinations will surely be interesting as well!
Logged
eiffie
Guest
« Reply #1 on: March 05, 2013, 07:20:00 PM »

Sorry I don't know of any programs - the reason probably being convolving a large matrix with another large matrix takes quite a long time without significant optimization. Nobody wants their app to be seen as crashing. The math is simple though.
Logged
cbuchner1
Fractal Phenom
******
Posts: 443


« Reply #2 on: March 05, 2013, 11:53:39 PM »

I believe a convolution in the spatial domain is the equivalent of a multiplication in the frequency domain.

So, take the FFT of an entire image. Take the FFT of the large convolutional kernel. Multiply both. Transform back and you've got quite an efficient convolution with a big filter kernel.

Logged
kram1032
Fractal Senior
******
Posts: 1863


« Reply #3 on: March 05, 2013, 11:58:45 PM »

well, you could try to, use Gimp and download a Fourier Transform plugin for it.
http://registry.gimp.org/node/9847
Technically, a convolution would simply happen by transforming to fourierspace, multiply and transform back.
However, this plug-in has a caveat: the transformed image isn't shown linearly, thus the multiplication won't be the actual right thing.

It's the closest thing I've got besides using something like Mathematica which can do the job too, I guess.
Logged
cbuchner1
Fractal Phenom
******
Posts: 443


« Reply #4 on: March 06, 2013, 12:45:54 AM »

Mathematica costs something (although the home edition is quite affordable - I have it)

Try GNU Octave
http://www.gnu.org/software/octave/doc/interpreter/Signal-Processing.html

It supports FFTs through the fftw library and should be able to display the generated results nicely.
Logged
kram1032
Fractal Senior
******
Posts: 1863


« Reply #5 on: March 06, 2013, 01:32:22 PM »

Oh, I should have mentioned Octave too.
http://www.gnu.org/software/octave/
Another option that's currrently heavily worked on, but I'm not sure how far it is yet, would be Sage Math
http://www.sagemath.org/

I believe, Octave is more about powerful numeric procedures while Sage focuses on powerful analytical ones.
As such, Octave is more like MatLab while Sage is more like Mathematica.
It's not by any means a perfect comparison though.

MatLab (and therefore Octave) are actually maybe even better for what you want, for it's a purely numeric task anyway.
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #6 on: March 06, 2013, 04:24:35 PM »

Since UF can import images and you can then essentially do anything mathematical you like to them, writing any sort of convolution filters should be easy - assuming you know or can find the relevant algorithms (such as ffts), it's just a matter of writing them for UF.

I think Ron's already written some class-based image convolution formulas in UF though I don't think they use ffts but do allow you to specify the convolution grid size.
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
matsoljare
Fractal Lover
**
Posts: 215



WWW
« Reply #7 on: March 06, 2013, 09:58:39 PM »

The amount of operations really aren't that big - it's just the amount of pixels in the first image, times the amount in the second.
Logged
matsoljare
Fractal Lover
**
Posts: 215



WWW
« Reply #8 on: July 08, 2013, 06:29:01 PM »

Does nobody know of a program that lets you load a image to use as filter on another image, or on itself?
Logged
0Encrypted0
Fractal Fertilizer
*****
Posts: 384



WWW
« Reply #9 on: July 08, 2013, 09:04:42 PM »

Does nobody know of a program that lets you load a image to use as filter on another image, or on itself?

Kai's Power Tools

KPT Convolver and/or KPT Materializer (not freeware)
Logged
matsoljare
Fractal Lover
**
Posts: 215



WWW
« Reply #10 on: July 09, 2013, 09:57:00 PM »

Interesting, how would i go about with using this?
Logged
matsoljare
Fractal Lover
**
Posts: 215



WWW
« Reply #11 on: September 30, 2013, 07:23:06 PM »

I'm really, really curious to see what this would look like, applied for example to something like a outline-only Mandelbrot or Julia set.
Logged
matsoljare
Fractal Lover
**
Posts: 215



WWW
« Reply #12 on: March 28, 2014, 07:50:38 PM »

Got a thread going about it on another forum here:

http://gimpchat.com/viewtopic.php?f=9&t=10062
Logged
matsoljare
Fractal Lover
**
Posts: 215



WWW
« Reply #13 on: March 29, 2014, 04:17:55 AM »

Well, that took a lot of work, but i've finally gotten some results out of this! There is definitely a lot to improve here, both in result and the rather cumbersome process, and while my attempt to do it with various photos turned out rather disappointing, these pictures should be enough to prove that there is real potential to be found here.

Wondering what the source images were? To paraphrase an old song.... your guess is just as good as mine, and probably the same!





Logged
kram1032
Fractal Senior
******
Posts: 1863


« Reply #14 on: March 29, 2014, 10:34:02 AM »

This looks rather convoluted.
.
.
.
(cheesy)

You probably would need to implement a fourier transform of source material rather than the resulting image, such that you can properly convolve two fractals.
The second image looks like a M-Set.
Perhaps you should use the logarithm of those images to make everything more visible.
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
3D IFS Image 3D Fractal Generation Sockratease 7 4323 Last post November 30, 2006, 12:38:08 PM
by lycium
IMAGE ART 2 Fractal Art AGUS 0 1708 Last post April 30, 2008, 01:27:37 AM
by AGUS
ART IMAGE 3 Fractal Art AGUS 0 2110 Last post April 30, 2008, 02:22:04 AM
by AGUS
Set which contains every possible image.. General Discussion « 1 2 3 » sonofthort 35 10179 Last post November 08, 2012, 07:26:54 AM
by M Benesi
2-D FractInt image looks like 3-D image FractInt Gallery simon.snake 8 2218 Last post March 13, 2012, 12:47:57 AM
by David Makin

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.324 seconds with 24 queries. (Pretty URLs adds 0.03s, 2q)