en ru

The "Granules Calculator by Yunovidov D.V." software description

Posted on 2019 / 10 / 22 in soft • 2 min read

This short article describes the software for calculating the quantity and size of mineral fertilizer granules in an optical image (photo).

Author: Yunovidov D.V.

Rightseereholder: Joint Stock Company Scientific Research Institute for Fertilizers and Insect Fungicides named after Professor Y.V.Samoilov (JSC “NIUIF”).


The software is developed for calculation of granulometric composition of mineral fertilizers on the opto-electronic color image. Calculations are based on algorithms of obtaining and processing of digital image for calculation of closed contours with further approximation by ellipses. The software works with Russian and English languages and allows:

  1. Receive opto-electronic image from digital USB-cameras and Nikon 1V3 camera.
  2. To start work on an external signal received on the COM-protocol from the microcontroller.
  3. Preprocess the image:
  • convert the image into grayscale;
  • adjust the brightness and sharpness;
  • equalize the brightness (equalization) of the image in grayscale;
  • smooth the image in grayscale with the Gaussian filter.
  1. Binarize the image according to the standard and adaptive algorithm and perform its mathematical morphology.
  2. Use the algorithm of search and approximation of closed contours as ellipses.
  3. Calculate the axes of ellipses (and granulometric composition base on them).
  4. Calibrate the calculated granulometric composition by known samples.
  5. Export the obtained information in the form of *.txt files in the format necessary for integration into the factory information system based on PI System software.

At the moment the development of the program is finished and the basic version of the program is registered in the federal register of computer programs (Russian Federation).

Computer type: IBM PC-compatible. PC

Programming language: Python 2.7

OS: 32 and 64 bit Windows and Linux

Program size: 922.5 Kbytes (922500 bytes)