Giter Site home page Giter Site logo

oluwaseunojeleye / image-processing-app Goto Github PK

View Code? Open in Web Editor NEW
17.0 1.0 3.0 15.14 MB

This repository contains the implementation of an Object Detection and Classification & Line and Circle Detection Application

License: MIT License

C++ 98.68% QMake 1.32%
object-detection object-classification object-recognition line-detection circle-detection image-processing image-segmentation morphological-image-processing canny-edge-detection sobel-edge-detector sobel-filter connected-component-labelling bounding-boxes cpp qt5 qtcreator qt-gui object-oriented-programming oop

image-processing-app's Introduction

Image Processing App

This project consist of the implementation of image processing projects without the use of any image processing library (such as opencv). It was implemented with ​Qt development software on a Linux platform and the used language is C++. The projects implemented so far are:

  1. Object Detection and Classification based on Geometric Invariant Moment.
  2. Line and Circle detection based on Hough Transform.

App

Project 1: Object Detection and Classification based on Geometric Invariant Moment

This project consist of the implementation of objects detection and classification program which detects and classifies objects (such as rice, beans, etc.) based on their geometric shape. The processes that are implemented in this project are:

  • Noise Elimination
    • Mean Filtering
  • Image Segmentation
    • OTSU Thresholding
    • K-Means Cluster Binary Thresholding
  • Morphological Image Processing
    • Dilation
    • Erosion
    • Opening
    • Closing
    • Boundary Extraction
  • Labeling and Bounding
    • Connected-component Analysis (CCA)
    • Drawing Bound Boxes
  • RST-invariant moment-based feature extraction and feature analysis
  • Distance based supervised learning for image classification

The diagram below shows a typical image processing system and the sub-processes involved in this project:

Object Detection and Classification

Project 2: Line and Circle detection based on Hough Transform

This project consist of the implementation of lines and circles detection program using Hough Transform. This project is the extension of the Object detecting and classifying application’s components. The processes that are implemented in this project are:

  • Smoothing
    • Gaussian Blur(Gaussian Smoothing)
  • Edge Detection
    • Sobel Edge Detection
    • Canny Edge Detection
      • Non-maximum Suppression
      • Hysteresis thresholding
  • Hough Line Transform
  • Hough Circle Transform

The diagram below shows the sub-processes involved in this project:

Line and Circle Detection

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Linux Machine with QT5 Creator.

Downloading

Cloning The GitHub Repository

git clone https://github.com/OluwaseunOjeleye/Objects-Detection-and-Classification---Line-and-Circle-Detection-App.git

How to use the program

Once you've cloned the repository, instructions on how to use the application can be found in Report.pdf

Author

  • Jamiu Oluwaseun Ojeleye

image-processing-app's People

Contributors

oluwaseunojeleye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

image-processing-app's Issues

Missing include file

ui_mainwindow.h missing from repo. Possibly a corresponding .cpp file as well.

Also no makefile.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.