Messages 46 - 90 of 354
First | Prev. | 1 2 3 4 5 | Next | Last |
ThreeDee
![]() |
Steganographic Decoder returns
Hahaa -- steganographic decoding solved! Here's the original image from wikipedia: ![]() Run through Steganographic Decoder filter: ![]() What made it work was using a Step Curve to make the original work like an 8-bit image even though FF does its calculations at floating-point accuracy! (This method of faking 8-bit processing is bound to improve alpha-packing and unpacking success, too.) So here's my question: is this just too obscure a filter to submit? Or a sure-fire HU when you batch every PNG image on the web in search of more steganographically hidden images...? ![]() Okay, I think I know the answer: if I make a Steganographic Encoder as well, it will be worth it, right? |
|||||
Posted: October 18, 2008 11:33 am | ||||||
CorvusCroax
![]() |
Oh, you should submit it, just for coolness factor! |
|||||
Posted: October 18, 2008 2:28 pm | ||||||
Kraellin
![]() |
stegano what? i see some trees and i see a cat.
If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: October 19, 2008 12:24 am | ||||||
jffe |
You turned a tree into a cat ?!
![]() ![]() jffe Filter Forger |
|||||
Posted: October 19, 2008 1:22 am | ||||||
Carl
![]() |
You've encoded the cat pic with the tree pic but to make a decoder to get it out again that is a challenge - hats off if you can acheive that
![]() |
|||||
Posted: October 19, 2008 3:24 am | ||||||
ThreeDee
![]() |
Steganography (scroll down to "Example from modern practice") -- hiding an image inside an image.
So far I've only made the decoder, the encoded image is from the wikipedia article. |
|||||
Posted: October 19, 2008 3:39 am | ||||||
Carl
![]() |
Hats off then ![]() ![]() |
|||||
Posted: October 19, 2008 4:24 am | ||||||
Sphinx.
![]() |
I'm looking forward to see your solution - I've been trying to make a decoder too, also using step curve approach.. however when I get to the difference step, I don't get anything but black as result ..GRRR.. It took 2 mins to hack the decoder together in Delphi, but that darn AND operation is what is causing problems in FF. Basically what I did in Delphi was this: BITS = 2; M := 255 - (BITS + 1); S := 255 div (BITS + 1); R_out := Abs(R_in - (R_in and M)) * S; and the same for G and B.. works perfectly.. not so easy to get into FF though..hehe |
|||||
Posted: October 19, 2008 6:13 am | ||||||
Kraellin
![]() |
well, i can see steganography's going to make a lot of people even more paranoid than they already are. lol. interesting topic, 3D. and you're going to build one of these things in FF? boy, you really are bored, arent you
![]() ![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: October 19, 2008 10:12 am | ||||||
ThreeDee
![]() |
Yup, notably easier with a couple of lines of code and in native 8-bit environment. In fact, it was much easier with just plain Photoshop with a couple of layers and curves than with FF. Since this is such a ridiculous filter and I don't know if I'm going to bother to try and figure out the encoding side of it, here's the 2-bit Decoder in case someone wants to try it out. At least it worked with the wikipedia sample. I couldn't even find other samples to try it on. Steganography Decoder.ffxml |
|||||
Posted: October 19, 2008 4:01 pm | ||||||
ThreeDee
![]() |
3D construction with Blend modes
Most of us use this already to some degree or other, but there is more exploration to be had with using Blend modes for constructing things in 3D. Give you an example: Say you wanted to make a 3D labyrinth from the point of view that you are inside the labyrinth and can move around in it. (I'm not saying that I'm planning to do so, necessarily... ![]() You could make some rather complicated if-then branches in your filter tree. Or then you could blend the walls (which would be height maps) in Lighten mode and the one closest to the view would automatically cover every other one up! These don't have to be walls, they could be any objects that are represented by a height map. Blending ANY number of objects with Lighten mode will result in correct z-axis (depth) stacking, without further attention. Now, here's another thing to know: You can isolate a single object from any such set by blending two images, one with and one without that object in it, in Difference Mode. Thresholding the result at 100 will make a mask for just the visible parts of that one object. Probably need pix? |
|||||
Posted: November 18, 2008 5:09 am | ||||||
Kraellin
![]() |
how do you make an if-then branch in FF?
If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: November 18, 2008 9:12 am | ||||||
ThreeDee
![]() |
With Threshold and Blend. In essence:
IF (gray value)>(threshold) THEN (foreground): ELSE (background) "Foreground" can represent a whole branch of the filter and "Background" another branch. The Threshold output (black or white) is fed into the Blend Opacity input. In logic terms, black = no, white = yes. |
|||||
Posted: November 18, 2008 12:18 pm | ||||||
ThreeDee
![]() |
Example:
IF (slider A > 20) THEN (picture of apple): ELSE (picture of banana) Wherein Slider A would be converted to a gray tone (Assemble HSL) and thresholded by 20 to blend 100% or 0% between Foreground (apple) or Background (banana). |
|||||
Posted: November 18, 2008 12:20 pm | ||||||
Kraellin
![]() |
oh, like you did with the right and left strands in the lightning filter. never thought of that as an if-then before. cool
![]() hmmm, that might lead me to a solution i've been trying with luminance. thanks ![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: November 18, 2008 4:23 pm | ||||||
Crapadilla
![]() |
![]() --- Crapadilla says: "Damn you, stupid redundant feature requests!" ;) |
|||||
Posted: November 18, 2008 4:39 pm | ||||||
ThreeDee
![]() |
Well, actually, much more appropriately, just skip the Blend and hook the THEN and ELSE branches to the High and Low inputs of the Threshold.
That makes the Threshold Component the IF-THEN-ELSE component of FF. (Something in Dilla's popcorn munching reminded me of this. IF popcorn THEN eat ELSE buy.) |
|||||
Posted: November 18, 2008 5:15 pm | ||||||
Kraellin
![]() |
k, it is like the left and right strands then. got it. so, the source input is the IF. cool
![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: November 18, 2008 8:40 pm | ||||||
ThreeDee
![]() |
It becomes rather obvious when you reduce the input/output to black and white (0 and 1, false and true).
Blending two inputs (A and B) equal the following operations: A(Blend Darken)B = A AND B A(Blend Lighten)B = A OR B A(Blend Difference)B = A XOR B as well as A(Invert) = NOT A |
|||||
Posted: November 19, 2008 10:06 am | ||||||
Kraellin
![]() |
hmmm, not sure i get that one, but then i'm not sure i understand exactly what lighten does other than it seems to bleed the lighter parts of two objects through to the top. but not even sure of that. you'll have to forgive my ignorance, TD. i work mostly on effect stuff where i dont particularly have to know the math, logic, boolean and so on. i just have to be able to see ![]() and A(Invert) = NOT A, i think i understand. you're saying there that any value (A), inverted equals NOT A... i think ![]() interesting. always fascinates me what people use to think with. i'm more a visual and audio computer, where folks like yourself seem to be more mathematically oriented. and jffe, well, jffe is a special case and we're still trying to figure him out ![]() ![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: November 19, 2008 12:42 pm | ||||||
Kraellin
![]() |
this is the routine i was talking about that seemed to demonstrate what you were saying about components as IF-THENs. this, to me, is just brilliant. both bottom blends are set to multiply to get the best possible black-white resolution and the threshhold is set to 50 with no smoothing. thus, everything plugged into the low will resolve per the upper blend source on the left of the threshhold, the dark side, and everything on the right will go light because of the blend plugged into the high. freaky brilliant!
you with me on this, dilla? and let's share that popcorn, eh? ![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: November 19, 2008 1:09 pm | ||||||
Crapadilla
![]() |
I'm with you on that one (i.e. the lightning filter), although the thresholds are no news to me... ![]() ![]() --- Crapadilla says: "Damn you, stupid redundant feature requests!" ;) |
|||||
Posted: November 19, 2008 5:26 pm | ||||||
Kraellin
![]() |
ah, ok. guess i'm the last one to learn this then
![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: November 20, 2008 12:50 pm | ||||||
roseenglish
Posts: 24 |
OMG! ThreeDee thats so clever!
I was looking at your Suburbia filter thinking "how the hell did he do that?" came then saw your disco ball read the info - didnt undersatand it lol - followed your link to the forums and DL that png image to test it... and I am amazed! Hate clever ppl ![]() |
|||||
Posted: December 6, 2008 8:07 am | ||||||
ThreeDee
![]() |
What? Someone understood the disco ball? You might be the first one that ever did
![]() |
|||||
Posted: December 15, 2008 2:07 pm | ||||||
Kraellin
![]() |
i've been studying this lately and i was wondering if you had a method of subtraction using blends and thresholds...or any other components, for that matter. i looked at a blend with 50% opacity in normal, but that's not really a subtraction. it's more of an average. but i could sure use a subtraction if you've got one. in other words, i need an A - B. If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: December 22, 2008 12:36 pm | ||||||
ThreeDee
![]() |
I believe you can do that with Tone Curve. Theory goes: B = Start input of Tone Curve Inverted B = Maximum Input of Tone Curve Apply this Tone Curve to A (I'll have to try this to verify it went correctly.) This will clip at 0 obviously. If you want the inverse result in the negative ranges [-(A - B) when A - B < 0], you could do the reverse Tone Curve [exchange A and B] and blend it with a Threshold 0 of the above result. |
|||||
Posted: December 26, 2008 3:24 am | ||||||
ThreeDee
![]() |
||||||
Posted: December 26, 2008 3:33 am | ||||||
Kraellin
![]() |
ok, i've only had a few minutes to look at that, TD, (gotta go to work soon), but i'm confused. how is that a subtraction? not saying it's not, but i'll have to study it further. but, one thing, what i particularly wanted was to subtract one threshold from another in order to isolate one value or one range of values out of the thresholds.
i've gotta run now. i'll look at all this later today. thanks, TD ![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: December 26, 2008 9:14 am | ||||||
ThreeDee
![]() |
Oh, I see. No, the above is subtracting one value or grayscale image from another. So you are looking at just taking an area which is A AND NOT B, where A and B are threshold results, right?
That would be then as simple as Inversing B and blending A and B with Minimum. Or, even simpler, making Inverse B the High Input of Threshold A. If I understood what you are trying to do correctly. I'll post a snippet here shortly. |
|||||
Posted: December 26, 2008 11:13 am | ||||||
ThreeDee
![]() |
||||||
Posted: December 26, 2008 11:20 am | ||||||
Kraellin
![]() |
ok, am looking at your new one here and it looks like masking, and if i substitute in an 'image' component for the perlin and the other source, then it simply looks like an 'and'. so, let me try this again.
what i'm trying to do is subtract the results of one threshold from another in order to isolate a value or range of values within those threshold values. hmm, that's not saying it very well either. take a look at the filter i'm posting here. it's a very slight variation of yours where i've simply substituted in 'image' components. i want to threshold each of those image components with different threshold values then subtract one from the other. but, i dont want to add the results of each threshold leg; i want to subtract one from the other... A - B. the basic idea, what this is all leading to, is that threshold is limited as it is in extracting values. it's a very linear thing. the threshold simply moves down the line and keeps limiting values (or adding, depending on which way you're moving the slider). but, this doesnt give you all that's possible or shld be possible for extractions. for instance, it shld be possible to extract just one color or one grayscale or a range of colors or a range of grays but using the thresholds to subtract one value from another. or, maybe it would work better with tone curves. but, let's stick to thresholds first. think of it as like doing a shadows/midtones/highlights type of filter. you want to extract a range of values to be the shadows and a range for the midtones and a range for the highlights. but, there is no extraction component like that. would be nice if there was, but there isnt. it would also be nice if there was a subtraction blend mode, but there isnt, at least not that i know of. at any rate, there's a number of useful filters that can be done by being able to isolate a value or range of values and i think the secret to doing them is having a threshold subtraction method. A-B rthresholdt by ThreeDee rev 1.ffxml If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: December 26, 2008 12:56 pm | ||||||
ThreeDee
![]() |
I added controls to this version and a color to indicate the selected range.
Is this not basically what you're trying to do? It is selecting values above a certain threshold and then subtracting the values above another threshold, so as to isolate a midtone selection range. (And yes, I would think it would be better to do this with Tone Curves, you could make smoother selection edges that way, with various curve shapes) Selection range.ffxml |
|||||
Posted: December 26, 2008 2:58 pm | ||||||
ThreeDee
![]() |
Height Painting
This idea came from Corvus Croax's spacecraft development. Painting onto a height map from the side (as opposed from the top). Rather than the theory, here's a simple example of it. ![]() And here's the filter. HeightPainting.ffxml |
|||||
Posted: December 29, 2008 1:22 pm | ||||||
Indigo Ray
![]() |
||||||
Posted: December 29, 2008 6:27 pm | ||||||
Kraellin
![]() |
well, TD, i thought i could pit one threshold against another inverted one and get a subtraction by adding the two together in a blend, but it doesnt work. so, i'm still stuck without being able to isolate a single color (with no blacks or whites either). i'm open to any other suggestions.
If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: January 7, 2009 3:52 pm | ||||||
ThreeDee
![]() |
Hi Kraellin,
So, what controls are you looking at having in your 'isolate color' filter and what is the output you want? Like Hue, Saturation, Smoothness controls and a 'alpha' channel output for the selection? |
|||||
Posted: January 9, 2009 11:06 am | ||||||
Kraellin
![]() |
hi TD,
all i'm after is to be able to isolate a single rgb value to begin with, and after that, a range of values, like all the reds, or all the oranges/reds of the life preserver, for instance. it would be similar to the magic wand in photoshop/paint shop pro in that you could pick how wide or narrow a range you wanted to capture. i see it more as a snippet that i, and others, could use to isolate those ranges and then treat just those ranges within a filter. it would also be nice if it could distinguish lights and darks, as well... (again, like the magic wand) i suppose you could get into many different ways to isolate values and that would be great, but for the first, i'd just like to be to isolate and display a single value or small range of values. there are color isolate filters already. i did one based on someone else's isolate, but they never quite achieved what i wanted. such a filter, if it could really be made powerful and sensitive, could also act as an extractor tool, but that's down the road a bit. the threshold component seemed like a good place to start, but it works on a linear basis with no subtractive element to it. it's just shifting down (or up) and doesnt isolate really. so, i thought if you could do two thresholds and invert one and then subtract one from the other, you could have what i was after. but, so far, i havent been able to make that work. i also looked a mike's color picker, but that's doing something else. still, there might be something there of use to this. anyways, whatever ya got, i'm interested ![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: January 9, 2009 12:28 pm | ||||||
Betis
![]() |
I have a filter called Color Filter. That shows only the targeted hue with a slider to control Tolerance. Tolerance at 100 accepts all RGB Values, and 0 is more like none rather than only that color. From reading what you said, I think the filter you want I have already made.
Roses are #FF0000
Violets are #0000FF All my base are belong to you. |
|||||
Posted: January 9, 2009 5:36 pm | ||||||
ThreeDee
![]() |
||||||
Posted: January 12, 2009 3:59 pm | ||||||
ThreeDee
![]() |
A bit more complex version of the same, isolating to a custom color by hue, lightness and saturation:
Color Selector.ffxml |
|||||
Posted: January 12, 2009 4:01 pm | ||||||
ThreeDee
![]() |
Then you could make separate Range and Smoothness controls for Hue, Lightness and Saturation if you wanted to get fancier. 'IF' being the operative word.
|
|||||
Posted: January 12, 2009 4:04 pm | ||||||
Kraellin
![]() |
ok, both of these are on the right track, but still missing what i'm trying to get here. first, you've converted to black and white and i see why you did so, but i want the result to be the color we're trying to extract/isolate. i modded both your filters to show this. but, in doing so, we're getting that threshold effect and we're not getting a range of colors but rather a scale of color change. that's different.
what i'm after is, think of a pure red. in rgb this would be 255/0/0. but forget the numbers. think color spectrum. if you take that pure red and move on the spectrum left or right and in fact, moved both left and right, expanding the range of your reds to more than just a pure red. you extract JUST those colors and that's my filter. if you moved to the blues you could do the same thing. if there were no blues in the image, it would just come up as nothing, unless you REALLY expanded your range, but best if it just didnt come up at all if there were no blues in the image. so, in the life preserver, if you picked red or a decent range of reds, JUST the reds within that range would come up as showing. attached is my slight mod of your range selector where i added in color and an extraction to a transparent background. Range Selector by ThreeDee rev 1.ffxml If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: January 12, 2009 11:28 pm | ||||||
Betis
![]() |
Did you try my filter? It sounds so much like what you're trying to explain.
Roses are #FF0000
Violets are #0000FF All my base are belong to you. |
|||||
Posted: January 13, 2009 12:05 am | ||||||
ThreeDee
![]() |
Kraellin, Betis's filter seems to do pretty much exactly what you are describing. You probably just want to (based on your modified example) turn the selected range into the alpha channel (transparency).
Another thing that could be done is to combine Mike Blackney's "Color Picker" idea into it. That way you could get the color right out of the image instead of having to guess at it with the color swatch. Depending on how exact you want to be, you can then add controls (similar to my Color Selector filter) for the hue range, saturation range and lightness range and smoothness separately. That way you can extract more accurately. Doing the extraction based on hue only is a bit limited in workability as you will find out as soon as you try it on a more complex or subtle (in terms of colors) image. It's a balancing act between the simplicity of the controls versus the accuracy of the selection. Ideally (from user point of view) you would just have the color, range and smoothness. But for better separation you may need those other controls (Hue, Saturation, Lightness, etc.) Perhaps a checkbox to activate "advanced controls"? |
|||||
Posted: January 13, 2009 6:30 am |
Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!
33,711 Registered Users
+18 new in 30 days!
153,531 Posts
+36 new in 30 days!
15,347 Topics
+72 new in year!
10 unregistered users.