Вы находитесь на странице: 1из 16

FINAL PROJECT: SOBEL FILTER

Dipanwita Guhathakurta
Gautham Venugopal
SOBEL FILTER
● The Sobel operator, sometimes called the
Sobel–Feldman operator or Sobel filter, is used
in image processing and computer vision,
particularly within edge detection algorithms
where it creates an image emphasising edges.
INSPIRATION
https://www.ijsr.net/archive/v4i7/SUB156253.pdf
PROJECT THEORY
The operator uses two 3×3 kernels which are
convolved with the original image to calculate
approximations of the derivatives – one for
horizontal changes, and one for vertical. If we
define A as the source image, and Gx and Gy
are two images which at each point contain the
vertical and horizontal derivative
approximations respectively.
CODE COMPONENTS
VERILOG:
● Top.v : Wrapper code for running all the modules together
● Testbench_sobel.v : Parses through the 640*480 image matrix every
clock cycle and writes it to memory block.
● Mem_sobel.v : Creates 640*480 = 307200 dimension array storing
pixel intensity values in decimal.
● Main_sobel.v : Reads each 3*3 block of pixels ( each pixel with
its 8 neighbours) and passes to core_sobel.v for filtering.
● Core_sobel.v : Combinational block that takes a 3*3 block of
pixel intensities, calculates the gradient and quantises the
intensity values to detect edges as white, non-edges as black.
DESIGN
● BLOCK DIAGRAM OF I/O SYSTEM:
DESIGN
● BLOCK DIAGRAM OF MAIN BLOCKS:
Functions of each block:
● MEMORY BLOCK:
640*480 = 37200 size array for storing the image matrix.
Intensities are stored as decimal values from 0 to 255.
● MAIN BLOCK:
Consists of 3*3 array storing pixel intensity with its 8
neighbors.
● CORE BLOCK:
Calculates horizontal and vertical gradient in the 3*3 block
from main, quantises(smoothens) the intensity values and
filters the pixel intensities based on intensity threshold.
Control signals and buses:
● mem_rw : 1 if writing to mem, 0 if reading.
● mem_bus_in: high when data is written to
memory
● mem_bus_out: high when data is read from
memory
● Bus-in[71:0]: carries data read from memory to
Core
● Bus-out[71:0]: returns filtered data from Core
TESTS PERFORMED:

INPUT IMAGE OUTPUT IMAGE


TESTS PERFORMED:

INPUT IMAGE OUTPUT IMAGE


TIMING DIAGRAM
THINGS TO BE LOOKED FOR
● We will compare our area, power reports with
the reference paper in tabular form.
● We will compare the output image with Matlab
built-in image processing toolbox results.

Вам также может понравиться