Canny and Sobel edge detectors use 3x3 matrices , and assume that the middle row or column is the edge. Dividing by 3 or 9 is hard on an FPGA. Much better to use 2x2 or 4x4 or 8x8 edge detectors, and then one can average over multiple pixels, and divide by 2, 4 or 8. One could even use all of them at the same time on an FPGA, and thus detect both fine edges, and thick noisy edges.

There is a class of vision impaired people who would benefit from good edge detection algorithms. Thick black lines on their glasses would help them navigate through doors, and follow the sidewalk. The Canny and other edge detector algorithms detect fine lines, but are not so good at recognizing the major features needed to support this functionality. FPGAs can use more computationally intensive algorithms to accomplish this task.

Stereoscopic vision currently uses computationally expensive disparity maps. Edge detection followed by stereoscopic analysis may reduce computational complexity, and run on less expensive FPGAs.


Built with the Forest WIki.
User contributed content is licensed under a Creative Commons CC By 4.0 License.