I have a procedurally generated image (a bird's eye terrain map). The edges wrap-around (I can tile the image without seams) I applied the Sponge artistic filter on it, but the edges don't match anymore.
Is there any way to get a Photoshop filter to recognize the opposite edge's pixels so that it maintains my tile effect? Thanks.
Convert your image into a 'New Tiled Painting from Layer' in the 3D menu. Now apply your filter. When you are finished double click on the diffuse texture in the layers palette to save out your filtered tiling image.
c.pfaffenbichler, that would just create a seam at another location.
I did some manual smudging along the length and breadth, but it took something like 40 minutes. Exhausting. I need this automated.
I don't know of a way to make the filter you ran on it recognize that you wanted to maintain the tiling ablility on the edges.
If you aren't concerned with it looking exactly the same you could always run the process of Filter/other/overpass using 50% pixels both ways and "wrap" and get a new tile. It will move things around though, yet it only takes a minute or two and looks similar.
I suppose that is maybe how you made the tile in the first place, in which case this wouldn't help to keep the image as you had it and just correct the edges.
Message was edited by: LMn0P
The image is procedurally generated outside of photoshop with my own algorithm. I can't move anything around because each segment of the image corresponds to specific terrain (hills, ocean, etc.) in a game.
Alright, I figured that might be the case. Sorry I don't have any answers then besides what you already did manually.
Only thing I can think of is if there is a chance you can run the filter on the entire image before you run your algorithm on it. Otherwise you need exactly what you asked for and I've never really heard of it unless someone has a script or something that can help you.
Message was edited by: LMn0P
Did you try c.pfaffenbichler suggestion?
Extend the canvas size by 300 percent and tile the borders like this:
Run the filter and the crop the canvas back to the original size of your image.
I tried it and got a tiling image.
Yes, I understood. Except the new image is much bigger than the old one -- just cropping out one part of the new tiled image won't work. This is bad, especially when the image I am using (with the sponge effect) is 4000x4000 pixels and weighs about 61MB in memory. I need one map, anyway, to plug into my code, not 5.
Yes, I understood.
Are you sure?
just cropping out one part of the new tiled image won't work.
Cutting out a segment of the original dimensions provides an equally sized and seamless pattern, does it not?
The screeshot in post 13 should illustrate what I am talking about.
By using 4 instances of the element, applying the filter to the complete arrangement and cutting an area of the original size from the center one can get a seamless pattern.
It was brenBot that recommended 5 elements; 9 could work to get a seamless pattern without any offset.
I did a few tests awhile back and forgot to get back to this thread. Its not going to work. I think its due to the random nature of the filter. Its filtering loosely on color/value .. not exactly on color/value.
c.pfaffenbichler may not be experiencing it as it is more noticeable on larger images.
There are programs that do this kind of tiling .. try:
It seems I owe the OP an apology.
That I could not notice borders may have been owed to the fact that I used the Filter with relatively small values and the issue did not become apparent at those.
Yeah, I didn't notice at first, either. :-)
Another solution would be to replicate the algorithm that actually runs Sponge and "Reduce Noise"... is that available somewhere?
Here is how I get my map, by the way:
1) resize to 4000x4000. (nearest neighbor)
2) sponge. (brush size:8, definition:4, smoothness:5)
3) reduce noise. (strength:10, preserve details:0, reduce color noise:40, sharpen details:0, remove jpeg artifact: no)
4) brightness/contrast (0/50).