c-koi/gmic-qt

Despeckle leaves pink areas

Opened this issue · 10 comments

OS: Ubuntu 20.3
Digikam ver.8.10
Gmic-QT as plug-in of Digikam
tool despeckle ver.2013-02-01

Sometimes, after run despeckle, the worked image has some pink areas.
A number of "speckles" is corrected but pink areas seems to fill some white (or almost white) zones of the image.
I tried different settings but the problem still arise.
What can I do?
Is a bug of despeckle tool?
digiKam_Qmic_Despeckle_20,8

This looks like out-of-range values in the resulting image.
The Despeckle filter has been made by @garagecoder , maybe he could help ?

I'll try to reproduce the problem this week, then perhaps a fix

@Antonio-52 So far, I've not been able to reproduce this. Are you able to provide an example input image which has the issue?

Mathematically, I can't see how that could happen unless there's something strange about the input first. If you have time, it would also be good to know if you see the issue with g'mic in some other program (e.g. gimp plugin, or standalone).

Hi @Antonio-52

Unfortunately, I don't see your attached images on here or by email!
Maybe you can paste directly here in github rather than reply by email?

What I might need to do for you is create a new/test version of the despeckle filter. That way, I can add some features without breaking it for others. Hopefully I'll be able to do that this weekend.

Thanks for the feedback

1996-09-04 11h - Valle Ihlara; 235_v1
1996-09-04 11h - Valle Ihlara; 235_v2

  • _v2 is the original image
  • _v1 is after working with despeckle filter

@Antonio-52 I still can't reproduce this, even with those images. I think something is going wrong your side which is probably not due to this filter. I expect you could find other filters in g'mic which would break in similar ways.

I've added a new test filter called "Despeckle [test]" which has two clipping options. Both will stop any values outside 8bit range [0,255]. ClipIn clips before the filter is applied, ClipOut happens after.

If using ClipIn solves it, I think that shows something goes wrong before the filter. If just ClipOut solves it, then the filter is going wrong in a way I don't yet understand.

You will need a very recent version of g'mic to try that test filter!