Demonstrating Machine Vision on iWave’s Cyclone V SoC Development Kit

A US based company, well known manufacturerand provider of industry leading custom logic solutions to customer that includes FPGAs, SoCs, CPLDs and power management products.Its development units are spread all over the world in more thantwenty countries.

iWave and client vested interest to demonstrate theCyclone V SoC capabilities of ARM and FPGA subsystem inspired to go for Machine Vision application project. iWave’s in-house design capabilities on FPGA and associated embedded SW on Cyclone V SoC has driven the client to collaborate. iWavedeveloped a Machine Vision Application system for finding Blemishes/Damages on Vegetables/Fruitsusing iWave Cyclone V SoC Development platform(G17M). The current system is designed to find blemish/damage on one type of vegetable, i.e. eggplant (Brinjal).

There are various image processing modelling/algorithm are available in the industry and some of these algorithm implementation are in OpenCV library. Considering the environmental light, color of the vegetable under test, the video input and display output parameters in the system, arriving at the appropriate modelling and applying for Machine Vision was a real challenge. Initially all image modelling using OpenCV was running in ARM subsystem of Cyclone V SoC. The CPU processing time for each stage of image modelling captured and analyzed to reduce the overall latency. It was found that certain modelling stages was consuming more time while running in ARM. Identifying the modelling stages, which can be offloaded to FPGA subsystem with its available IP/Memory resources was an exciting experience.

Solutions offered by iWave:

Key Features:

  • iWave Cyclone V SoC platform has Dual Core ARM(HPS) with FPGA support
  • FPGA appliespre-processing logic to the captured image
  • Machine vision applications front end GUI is developed using QT
  • Image Processing algorithms are developed to find the blemish/damage on the eggplant(brinjal) image
  • OpenCV libraries are used for implementing Image processing algorithms
  • The amount of blemish/damage in the eggplant(brinjal)is derived from the processed image
  • The acceptance or rejection of the eggplant(brinjal) is calculated from amount of blemish/damage and passed to Machine vision application
  • The processed image and GUI with the results are alpha blended in FPGA
  • Machine vision application displays the alpha blended frames in 7” LCD display

The Hardware components used in the System are:

  • iWave Cyclone V SoC Platform running Linux kernel 3.10.17
  • NTSC Camera
  • 7” LCD display
  • TouchSD Card for booting
  • Debug UART


  • Developing Image Pre-Processing Algorithms using FPGA
  • Developing QT GUI application, to use as GUI Front End
  • Developing Image processing algorithms to find blemish/damage, using OpenCV library
  • Reducing the processing time by implementing more image processing algorithms in FPGA

Area Of Expertise:

  • Developing custom FPGA IP core for Image processing
  • Image Processing and Modelling using OpenCV (Hollow Model, Contour, Median Filter, Model Filling)
  • Linux BSP with Peripheral Driver (Yocto)
  • Qt Framework


  • Machine Vision application reduces Cost and Time
  • Improvement in quality of segregating good and bad vegetables/fruits
  • Grading of vegetables/fruits into multiple categories are possible.
  • Minimum amount of human intervention
  • Robust and efficient

Possible Applications:

  • Automated Fruit/Vegetable Grading system
  • Analysing and sorting out fruits and vegetables
  • Skin Detection
  • Medical applications

Copyright © 2022 iWave Systems Technologies Pvt. Ltd.