Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

canny edge detection for 32 bit floats

I want to detect edges in a range image. The image contains distance values from 0 meters to 2,5 meters as 32 floats.

Canny edge detection works very well for my images. However the cvCanny method only accepts single-channel 8bit input images.

Converting the distances to 8bit results in a resolution of about 1cm, which is far too low. The original images have a resolution of below 1mm

I can generate different 8bit images that only cover a small part of the full range each, and run canny on all of them, but that is slow and cumbersome, and introduces artifact edges.

Is there a way to run canny edge detection on the full range of the input data?

canny edge detection for 32 bit floats

I want to detect edges in a range image. The image contains distance values from 0 meters to 2,5 meters as 32 floats.

Canny edge detection works very well for my images. However the cvCanny method only accepts single-channel 8bit input images.

Converting the distances to 8bit results in a resolution of about 1cm, which is far too low. The original images have a resolution of below 1mm

I can generate different 8bit images that only cover a small part of the full range each, and run canny on all of them, but that is slow and cumbersome, and introduces artifact edges.

Is there a way to run canny edge detection on the full range of the input data?