changing the edges command


hello there
so I’m using the -edges function but it looks like it’s not temporally consistent.from one frame to another edges changes in intensity.
so I looked in gmic_stdlib.gmic and edges is defined as :
gradient_norm b 0.5 >= $1 distance 0 equalize negate c 30%,70% n 0,1
$1 being the theshold I guess
I suspect the equalize to give me jumps from frame to frame …

when I try something like
gmic -i myframe.png gradient_norm b 0.5 >= 15% distance 0 negate c 30%,70%
it doesn’t work …
I don’t get what the >= is supposed to do.
sorry for the noob question
thanks in advance


It is another command; see

Are you using a newer version of G’MIC where we no longer need to use - to denote a command? And have you done gmic up? Sometimes these little details help make things better.


It sounds like you’re trying to process video frames, it’s not unusual to have rapidly varying output from the more complex commands. You could try -morph_files or something similar (“image sequences and video” section of the G’MIC reference

As for the other things you ask: >= 15% will set any pixels with value 15% or higher of the maximum to 1 and and anything else to 0. Quite likely the shell is causing problems with some characters too (I think there’s a new command ‘gmic run’ to help with that but I’ve not tried it).


thanks for the answers.
I’m using v2.1.5 .I’ve done my gmic -update :slight_smile:
I just realized that it’s effectively a shell thing … ‘backslash’>= 15 works fine.stupid me
concerning the temporal thing I have a succession of very similar frames … equalize seems to be a usual suspect.
thanks anyway


Glad you found the culprits. Flickering due to frame inconsistencies is a common problem in post.