Image Processing using Verilog . My solution to PS1 of ICHIP-22 UDYAM
- Team name - ARcheus
- Team members - Ayush Agarwal (me) , Raghavansh Singla
This project was our submission for the event "I-CHIP" held in 2022 , Verilog and digital electronics event held under "UDYAM", the electronics department fest of IIT BHU . In this PS1 , we were required to read a grayscale image and perform image processing operations such as increasing brightness , decreasing brightness , inverting the image , thresholding the image etc .
Verilog files for the project have been uploaded in this repository . We have made a module "pixel operator" which takes in a pixel and performs the required operation on it as per the parameter and select line values given to the module . Then we converted the image into a 1D array with hex values using MATLAB, fed it into the verilog testbench , and in it , we fed each pixel one by one , performed the required operation on it, then stored the output pixel value in a 1D array , then outputted the array , and converted the array back to image using MATLAB .
The original image :
Brightened Image :
Darkened Image :
Thresholded image :
Inverted Image :
The logic behind the module an be easily understood by reading it . This module does the required function on a single pixel .
The code has been explained via comments , please refer to the verilog file attached in this repository .