changing the edges command


#1

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


#2

It is another command; see http://gmic.eu/reference.shtml#ge.

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.


#3

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).


#4

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
luc


#5

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