From memory, the scan scratch removal was based on having an intact IR channel (which basically records scratches) in the image. I assume you don’t have that here.
In fact this seems like a worst possible case; no IR channel, no original images and the scratches are rotated and translated at random due to inconsistent placement in the scanner. I’m not certain there’s an easy way to handle it!
Possibly the first task is to find a good way to create a separate image/layer of the scratches. Given that, the above removal methods could be used…
The OP at dpreview link given by @pphoto suggests the free polaroid dust and scratch removal tool does a similar job to photoshop’s dust and scratches filter. I don’t have the polaroid tool, but can give an example of what it might look like using the dust and scratches tool in photoshop (hope this isn’t against forum policy, I know ps is not FOSS, but the polaroid tool is). This was a pretty fast and crude job, to give an example:
@Jeff Please post your examples without the circles. That way we can try removing the artifacts. Edit Preferably as high quality as possible. E.g., you photo in post #6 is super compressed, so much so that I can see tiny square compression artifacts when I zoom in. Those really interfere with image enhancement. However, it may be what you have on hand, then that is all you can provide.
Unfortunately, that’s close to the highest quality - when i resaved with the circles and privacy for peoples faces, quality will have only reduced a small amount i suspect. I’ve chosen three images that have those blemishes and have uploaded them untampered.
I really appreciate your help. Very much. I’d love to see if this works with G’MIC - I don’t have easy access to a windows computer (all Linux here) so i imagine getting the polaroid stuff to work with Wine might be problematic. Anyhow, let’s see how it goes.
Maybe it would be a good idea to live with the images as they are for some time. AI in image processing is making great progress. The task could be relatively well done today manually but getting good results by automatization is still challenging. Maybe in 5 years the rescuing “can be done in passing”.
As it looks to me the dust is always at the same place wouldn’t it be possible to overly all images and then generate a mast out of it. If you have the mask you could use gmics inpainting to fix it.
Yes, @Tobias’s suggestion is most sensible. If you can mask reoccurring blemishes, it can go a long way to remove them. Workflow:
1 Mask or select blemishes. 2 Use heal brush, clone brush or in-paint all images. Try selecting all masked areas and then filling them in with large radius brushes or in-painting.
PS No matter how I automate the masking, it always covers areas that are perfectly fine.
They are untested and incomplete but I decided to commit them anyway. Their performance depends on the image. Sometimes one works better than the other and vice versa. Remarks:
– “Recovery” → lower value means more changes; higher value means less.
– “Clean Photo 1” → preview can fail on very low recovery values. All you can do is output to new layer to compare and undo if you don’t like the result (at least that works in GIMP).
As you’ll probably see if you flick the images in a sequence, those dust marks move, due to minor readjustments that the scanner software has made when it saves the image.
I do think that Thomas’s thoughts might be where I’m leaning, however I’m not sure that this particular issue will be fixed with AI in image processing. I can vacillate though on this.
I was toying with the idea of working out whether some routine could be written to analyse images to find “runs” of white-ish pixels that are, say, never get narrower than “n” pixels, never get wider than “w” pixels and that are between “x” and “y” pixels in length. Or is that waaaaaaaaay too processor intensive or too hard to figure out?
Sometimes the plugin doesn’t update properly. Don’t expect too much from the filters though. They aren’t very smart and only meant to give you perspective.
Just quickly, and I’ve been looking for about an hour on this one - what would I append to my gmic command to output a file with the same basename, but a png version. From what I’ve been reading, I feel it has something to do with -output png:{[image],b}, but I’m not sure how to write it…
Ahhh, that’s linked a few coding concepts for me. Thanks. I’m going to have a play now, and write back what I’ve come up with. You guys are very helpful - I think this might work well, but have a few more things to try…
Here is a light cleaning of image 502 using Clean Photo 0 (afre_cleanphoto0) with an additional user specified list of regions to mask. I haven’t committed this yet because I have to figure out how to make it presentable for the public and perhaps improve the base algorithm.
PS1 Clean Photo 0 / 1 should work in the plugin now. (I placed it in the CLI section by mistake.)
PS2 I forgot to mention that the dust and scratches seem to have R-B aberration. Might be the scanner, photography or something else. What does everyone think about that?
PS3 Made region tiles have slightly smoother edges.
I can’t believe what I’m seeing. That is INCREDIBLY good!!!
I have no idea what R-B aberration means (another thing I have to google) but …
I’m picking myself up off the floor…
I’m going to test this on a few other shots, and try to make a way of automating this in digikam if I can too. I just need to get a good run of time. When I add an inpaint holes thing and auto colour balance too (which I’ll do this as a next stage) I think that’s… just… amazing… You must have cracked the hard part @afre