MPA
MPA

Reputation: 2028

Detect region from edges

I've got a micrograph showing a number of grains that have a rather clear boundary. I've used OpenCV-Python to detect these boundaries (with a Canny filter), and I think it was rather successful in its attempt, see figure. I would like to identify and mark the individual regions bounded by the detected edges, and then get the area (number of pixels) contained those regions. My apologies if the question was asked (and answered) before, but I could not find any satisfying answers yet.

Thanks in advance

Original image Original image Original image overlain by the detected edges Original image overlain by edges

Upvotes: 1

Views: 1117

Answers (1)

phill EuL
phill EuL

Reputation: 96

If the grain makes no difference in the color (maybe on the raw data rather than a compressed format), you may wanna use the Becke line to distinguish inside and outside. The borders of your grain appear dark on the inside and white on the outside. But this depends also on the focus of the microscope. See here.

In the case that your grains do not enclose totally a background spot you can use a point in polygon approach.

Upvotes: 1

Related Questions