AFAIK, the Canny algorithm requires large, wide areas of black pixels, adjacent to large wide areas of white pixels in order to find the edge. It compares the change in value over a wide "strip" to determine the edge.

It's a bit counter-intuitive, but the algorithm will not work on single pixel width areas.


On 24/07/2023 6:28, Venka wrote:
Hi All,

I have a question about Canny Edge Detection using i.edge

1) I produce a thinned binary image as below

r.thin --overwrite input=line_element output=thinned_line_element

a) the "line_element" represents valleys that are, at places, few pixel
wide

b) the output "thinned_line_element" represents valley lines that are
a single pixel wide

2) I run the Canny edge detector on "thinned_line_element" as below
i.edge --overwrite input=thin_line_element output=edge_map angles_map=angle_map


The resultant "edge_map" produces a monotone (no edges) edge map and the "angle_map" outputs the angles
correctly

3) Running the Canny edge detector on the un-thinned "line_element"

i.edge --overwrite input=line_element@PERMANENT output=edge_map1 angles_map=angle_map1

produces both "edge_map1" and "angles_map1" correctly.

Any idea why the Canny edge detector does not produce edge map on thinned image?

Kind regards,

Venka
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user
-- 
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to