Jump to content

Gabor filter plugin (alpha)


zarathoustra

Recommended Posts

Hello,

I'm publishing here an alpha version of my gabor filter (accompagnied with a small binarization filter).

This filter is mainly for developpers as it is not very eye poping, and very slow.

I will probably never update this plugin as this version fullfills my needs, but i'll give the code to whoever asks and answer questions.

Say, if you speed it up, add an inverse checkbox, and the ability to compute and superpose multiple angles, you can get something more usefull, esthaetically speaking. (see attached pictures)

This plugin belong to the class of edge detectors and have been used in OCR and face recognition and such.

I also want to say that paint.net is a great tool! :D

Thanks to paint.net i have been able to quickly develop a filter to visually check that my implementation of the gabor filter was correct,

and experience how it behaves when you change parameters.

Also, thank you all for the help to write this plugin. :wink:

GaborFilter.zip

33277_8d7763a47d82fdf7edecf4b4fe560580

Link to comment
Share on other sites

Why not use IndirectUI? For your plugins, since you just have a few simple integer properties, it would be much easier to create the UI. And it would then be consistent with the rest of the built-in effects.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Why not use IndirectUI? For your plugins, since you just have a few simple integer properties, it would be much easier to create the UI. And it would then be consistent with the rest of the built-in effects.

Because i wasn't aware of the existant of that :)

(consequence of: the doc is the forum? :P)

Link to comment
Share on other sites

Also, why are the effects in a submenu named after the author rather than the type of effect? :?

Well, to be honest, i first placed them in "Stylize", because this is were edge detect was and i thought it was the same kind of thing.

But at last minute before release build i changed it to "Zara FX" for my personnal ease of use, in a completely egoistic manner, i admit.

I have to say i moderatly cared, because as you might have understood, i did this for me, and it's mostly insteresting for me (at least as is, see the terrible performance, poor ui, only one angle, etc...).

So I have not published it in the other pluggin forum because i have put no care in what would be good for an end user,

but i have published it here because the algo might interest other developers.

If there are people really interested in using it the end user way, i could fix it with rick's comment and yours.

But i'd be surprised it interest anyone for doing artistic things. (Note that i have no plan to fix the performance issue, making it unusable for picture above 150x150)

Link to comment
Share on other sites

This looks like an awesome plugin. I reckon with a few more variables or whatever its called in code language, this plugin could produce pretty similar results to this plugin for PS: http://www.redfieldplugins.com/filterFractalius.htm

☆★☆★Merry Christmas★☆★☆

 

.::.My Gallery.::.Make Gold Text!.::.

Link to comment
Share on other sites

It looks like your filter superpose emphasised edge on top of the source picture to me (looking at the davinci picture) although using a totally different technique (hidden fractal texture extraction, unknown to me).

You could do that with the gabor filter, but my implementation is way to slow. if you want to render curves so well, you'd need 8 angles (at least), see how long it takes for one and think about it.

Not saying that you won't see how long it will take on large pictures... :roll:

Right now my code does the math in quadratic time with doubles (you can say *ouch*), there must be some fast discrete gabor transforms somewhere (hopefully doing this in n log n with ints), but i don't know.

Link to comment
Share on other sites

  • 5 weeks later...
Why not use IndirectUI? For your plugins, since you just have a few simple integer properties, it would be much easier to create the UI. And it would then be consistent with the rest of the built-in effects.

I worked on it this weekend and somewhat improved speed.

Now how do you use IndirectUI ?

I have to rewrite my class to use inherit from PropertyBasedEffect instead of inheriting from Effect?

Edit:

I forgot to ask, when you use IndirectUI are you limited to the controls in PDN or can you mix winforms controls with it?

Because, in a near future, i'll need some piece of UI for a list of angles, instead of just one.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...