I try to detect edge using python. There are hundreds of algorithms for edge detection, however, the image is very obscure and unclear. The most serious problem is one edge is located at the local maximum value, but the other edge is located slightly shifted from local maximum value. Through the detailed examination, I found the other edge is located at the one of the inflection points of original values. I depicted this situation as a simple situation.
Is there any simple and beautiful ways for detection edges in various situations?
No, there is no simple and beautiful method to detect edges. This is an ill-posed problem. In particular, there is no absolute criterion to tell signal from noise.
A not-so-bad method is to consider the peaks of the derivative, provided they correspond to a sufficiently high step in the signal.