Keywords: front-page

## Lab: Edge Detection I

[Exercises] [Workspace]

Purpose: The purpose of this lab exercise is to experiment with edge detection by convolving Sobel gradient filters with an image.

Activities:

1. Get image $DIP/data/retina.kdf and display it using operators User defined and Display Image and convert it to "float" as the result of the operation will give negative values.

   1. Glyphs:Input/Output:Data Files:User defined
   2. Glyphs:Data Manip:Data Conversion:Convert Type
   3. Glyphs:Visualization:Non-Interactive Display:Display Image

2. Perform edge detection in the width and height directions by using two LinearOp (Linear Operator) one with kernel $DIP/data/sobel_x.ascii and the other with kernel $DIP/data/sobel_y.ascii. You can visualize these kernels using the File Viewer operator. Display both filter results. Verify that both images contains positive and negative values.

   1. Glyphs:Input/Output:Data Files:User defined
   2. Glyphs:Input/Output:Information:File Viewer
   3. Glyphs:Arithmetic:Linear Transforms:LinearOp (Linear Operator)
   4. Open the LinearOp (Linear Operator) pane and set the kernel origin to the center of the kernel.
   5. Glyphs:Visualization:Non-Interactive Display:Display Image

3. Take the magnitude of the gradient using the Hypotenuse operator applied to the width and height gradients, and display the result.

   1. Glyphs:Arithmetic:Trigonometry:Hypotenuse
   2. Glyphs:Visualization:Non-Interactive Display:Display Image

Exercises

1. Make a synthetic image with a white circle in a black background. Take the magnitude Sobel detector operator using estimates with absolute and Euclidean values (using the Hypotenuse operator).
2. Create a workspace to determine the Sobel gradient direction of the circle image and of the retina image.

Khoros Workspace
Execute the visual program c9s1gradient.wk