FPGA implementation for image processing
VISVESVARAYA TECHNOLOGICAL UNIVERSITY
Jnana Sangama, Belagavi - 590018
A Synopsis on
“ Image processing application of FPGA using Verilog”
Submitted by
NAME: USN:
1. S.G. Sethu Narasimha 1AT20EC145
2. S Devirakshith 1AT20EC132
3. Venkatesha B 1AT20EC161
Under the Guidance of
Dr. Shipra Upadhyay
Designation
Associate Professor
Department of ECE
Atria Institute of Technology
Department of Electronics and Communication Engineering
1
ECE, Atria IT, 2022-23
FPGA implementation for Image Processing
Image processing application of FPGA using verilog
Aim:
Image processing application of FPGA using verilog.
Introduction:
Today’s demand for high performance in technology drives people to improve the existing technologies and
to come up with new ideologies to cope up with the fast-moving World. Image processing is one of the
technologies which has been improved from time to time. Basically, image processing can be defined as the
processing of a two-dimensional picture by a computer. The outcome of image processing could be an
image or a result as set of features or characteristics related to the image. Most image processing methods
treats an image as a two-dimensional signal and implementing standard signal processing techniques to it.
Earlier people used image processing just to improve the quality of the image so that it improves the visual
effects of people. In today’s scenario, we are going beyond the 2D and to see what is there in the image.
Apart from this, we also use in the fingerprint detection, remote sensing, feature extraction, face detection.
Digital image processing is the use of a digital computer to process digital images through an
algorithm. Digitization implies that a digital image approximates a real scene. There are two types
of methods used for image processing namely, analogue, and digital image processing. Analogue image
processing can be used for the hard copies like printouts and photographs. Digital image processing
techniques help in manipulation of the digital images by using computers. The three general phases that all
types of data must undergo while using digital technique are pre-processing, enhancement, and display,
information extraction.
Image processing has wide applications from medical image processing to computer vision, digital
photography, satellite imaging, digital encryption and decryption. The quality of image is considerably
increased by image processing algorithms, which helps lot in medical imaging, surveillance and robotics
application for target identification and tracking.
The need to process the image in real time is time consuming and leads to the only method of
implementing the algorithm at hardware level. With FPGA implementations, the logic required by an
application is implemented by building separate hardware for each function. Also FPGAs are inherently
parallel; this gives the speed to those real time applications while retaining the programmable flexibility of
software at a relatively low cost. This paper aims to implement image processing algorithms using Xilinx
System Generator. The hardware implementation of the algorithms on FPGAs is done using model based
design approach
Objectives:
1. Review of different project reports and brainstorming the important information related to image
processing.
2. Design and testing to hardware components by using simple AND gate ,OR gate operations.
3. Design and testing the hardware components for the project.
4. Test code preparation for the project using Verilog.
5. Logic development as per program requirement
6. Assembly hardware and software (Xilinx ISE) and testing for all conditions.
2
ECE, Atria IT, 2022-23
FPGA implementation for Image Processing
Block diagram:
Image processing
Image pre- algorithm Image post-
Image Source FPGA
processing Using Xilinx system processing
generator/vivado
In this project, few simple processing operations are implemented in Verilog such as inversion, brightness
control and threshold operations. Verilog cannot read the images directly. In order to read the image in
Verilog, the image has to be converted into the hexadecimal format. This process is done using MATLAB.
The hexadecimal data file (RGB data file) is dumped into FPGA board from PC. Further the hexadecimal
data file is read using the Verilog code. After reading the image .hex file, the RGB image data are saved into
memory and is read out for processing. After processing the image, write the processed data to an output
image for verification using the Verilog code.
Hardware and Software requirements:
1. FPGA board(KINTEX 7/Zynq board)
2. MATLAB
3. Xilinx ISE
Advantages:
➢ The processing of images is faster and more cost-effective. One needs less time for processing.
➢ When shooting a digital image, one can immediately see if the image is good or not.
➢ Copying a digital image is easy, and the quality of the image stays good unless it is compressed. For
instance, saving an image as jpg format compresses the image. By resaving the image as jpg format,
the compressed image will be recompressed, and the quality of the image will get worse with every
saving.
➢ Fixing and retouching of images has become easier. In new Photoshop 7, it is possible to smoothen
face wrinkles with a new Healing Brush Tool in a couple of seconds.
➢ The expensive reproduction (compared with restoring the image with a repro camera) is faster and
cheaper.
➢ By changing the image format and resolution, the image can be used in several media.
Applications:
Some of the major fields in which digital image processing is widely used are mentioned below:
1. Image sharpening and restoration
2. Medical field
3. Remote sensing
4. Pattern recognition
5. Face detection
6. Transmission and encoding
3
ECE, Atria IT, 2022-23
FPGA implementation for Image Processing
References:
1. Dhanabal R, Sarat Kumar Sahoo, Bharati V, “FPGA based image processing unit”. IEEE 2015.
2. Mandeep Singh Narula, Nishant Singla. “FPGA implementation of image enhancement using
Verilog HDL”. IRJET2018.
3. Peng Wang and John McAllister, Senior member, IEEE. “Streaming elements for FPGA signal and
image processing accelerators”. IEEEtransactions on VLSI systems 2016.
4. Mohammad I. Alali, Khaldoon M. Mhaidat, and Inand A. Alijarrah. “Implementing image
processing algorithms in FPGA hardware”. IEEE 2013.
5. S. Padmappriya, K. Sumalatha. “Digital image processing real time applications”. IJESI 2018.
6. Sangeet Saha, Chandrajit pal, Rourab paul, Satyabrata Maity, Suman Sau.“A brief experience on
journey through hardware developments for image processing and it’s applications on
Cryptography”.
7. R.G.R. Woods, “Digital Image Processing”, New Jersey; Prentice-Hall, 2008
8. “DSP System Generator User Guide” 12.1, 201
9. N.P.A.A.Gokhale, “FPGA Implementation for Image Processing Algorithms Using Xilinx System
Generator”, IOSR Journal of VLSI and Signal Processing, vol.2(4),pp.26-36
4
ECE, Atria IT, 2022-23