Buy Me A Coffee

Hi !

The Canny edge detection is one the most popular algorithms, and it’s also +30 years old.

The Canny edge detector is an edge detection operator that uses a multi-stage algorithm to detect a wide range of edges in images. It was developed by John F. Canny in 1986.

OpenCV includes the Canny algorithm as part of the base set of operations to perform on an image. You only need 2 lines of code to get this output.

canny demo effect using camera

The OpenCV canny tutorial (see references) explain the different steps to detect edges:

  • Noise Reduction
  • Finding Intensity Gradient of the Image
  • Non-maximum Suppression
  • Hysteresis Thresholding

I’ll keep this simple, just sharing the code !

using OpenCvSharp;
var capture = new VideoCapture(0);
var window = new Window("El Bruno – OpenCVSharp Effects demo");
var image = new Mat();
var imageNew = new Mat();
bool applyCanny = false;
bool run = true;
while (run)
{
capture.Read(image);
if (image.Empty()) break;
if (applyCanny)
imageNew = applyCannyEffect(image);
else
imageNew = image.Clone();
window.ShowImage(imageNew);
switch ((char)Cv2.WaitKey(100))
{
case (char)27: // Esc – Exit
run = false;
break;
case 'c':
applyCanny = !applyCanny;
break;
}
}
Mat applyCannyEffect(Mat image)
{
var newImage = new Mat();
Cv2.Canny(image, newImage, 50, 200);
return newImage;
}

That’s all for today!

Happy coding!

Greetings

El Bruno

More posts in my blog ElBruno.com.

More info in https://beacons.ai/elbruno


References

One response to “#dotnet – detecting edges on the 🎦 camera feed with Canny algorithm, #OpenCV and #net5”

  1. interesting that OpenCV makes it so simple .. I can see that using video and camera will be a common feature in near future

    Liked by 1 person

Leave a reply to Arman Cancel reply

Discover more from El Bruno

Subscribe now to keep reading and get access to the full archive.

Continue reading