All Projects → ahmetozlu → real_time_circle_detection_android

ahmetozlu / real_time_circle_detection_android

Licence: MIT License
Real time circle detection and tracking by Hough Circle Transform with OpenCV on Android OS.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to real time circle detection android

realtime-object-detection
Detects objects in images/streaming video
Stars: ✭ 16 (-58.97%)
Mutual labels:  realtime
FlipED
A LMS built specifically for Thailand's Education 4.0 system.
Stars: ✭ 24 (-38.46%)
Mutual labels:  realtime
google-mediapipe
Google MediaPipe Face + Hands + Body + Object
Stars: ✭ 55 (+41.03%)
Mutual labels:  realtime
twilio-taskrouter-realtime-dashboard
Twilio TaskRouter Realtime Dashboard using Sync
Stars: ✭ 51 (+30.77%)
Mutual labels:  realtime
wiz-editor
多人实时富文本 编辑器,可以嵌入各种应用中。支持markdown语法。
Stars: ✭ 208 (+433.33%)
Mutual labels:  realtime
nakama-examples
A mono repo with project examples for the Nakama client libraries.
Stars: ✭ 22 (-43.59%)
Mutual labels:  realtime
django-rest-live
Subscribe to updates from Django REST Framework over Websockets.
Stars: ✭ 48 (+23.08%)
Mutual labels:  realtime
Computer-Vision-Project
The goal of this project was to develop a Face Recognition application using a Local Binary Pattern approach and, using the same approach, develop a real time Face Recognition application.
Stars: ✭ 20 (-48.72%)
Mutual labels:  realtime
flask-redis-realtime-chat
A simple Flask realtime chat using Redis PubSub
Stars: ✭ 31 (-20.51%)
Mutual labels:  realtime
mangband
A free online multi-player realtime roguelike game based on Angband
Stars: ✭ 54 (+38.46%)
Mutual labels:  realtime
nazar
Electronic component detection, identification and recognition system in realtime from camera image using react-native and tensorflow for classification along with Clarifai API with option to search the component details from web with description shown from Octopart fetched from server
Stars: ✭ 25 (-35.9%)
Mutual labels:  realtime
node-v
🔒 Secure ❄️ Synchronized ⚡️ Realtime ☁️ Cloud 🌈 Native JavaScript Variables & Events
Stars: ✭ 27 (-30.77%)
Mutual labels:  realtime
Design-Prototype-Feedback-Application
Invision-like Design Prototype Feedback Application built using Laravel Vue and Pusher
Stars: ✭ 13 (-66.67%)
Mutual labels:  realtime
gogrs
📈 grs to Go. gogrs is a tool for fetching data from Taiwan Stock Exchange(TWSE) and dockerizing.
Stars: ✭ 58 (+48.72%)
Mutual labels:  realtime
alive
experimental livecoding environment with persistent expressions
Stars: ✭ 29 (-25.64%)
Mutual labels:  realtime
SLProject
SLProject is a platform independent 3D computer graphics scene graph library. Read more on:
Stars: ✭ 47 (+20.51%)
Mutual labels:  realtime
glip-lib
An OpenGL Image Processing Library (in C++/GLSL).
Stars: ✭ 14 (-64.1%)
Mutual labels:  realtime
onchat-web
A simple, beautiful, mobile-first instant messaging progressive web application.
Stars: ✭ 138 (+253.85%)
Mutual labels:  realtime
signalr-client
SignalR client library built on top of @aspnet/signalr. This gives you more features and easier to use.
Stars: ✭ 48 (+23.08%)
Mutual labels:  realtime
bong-bong
Open public chat service built for the web.
Stars: ✭ 17 (-56.41%)
Mutual labels:  realtime

Real Time Circle Detection and Tracking for Android

This repository focuses on real time circle detection with OpenCV on Android OS. Please contact if you need professional object detection & tracking & counting projects on Android devices with the super high accuracy!


What does this program do?

  1. Gets the camera frames and turn each frame to gray.
  2. Applies the Hough Circle Transform to the grayed image.
  3. Turn each frame to RGB and display the detected circle in a window.

Theory

Hough Circle Transform was used for circle detection in this project. It works in a roughly analogous way to the Hough Line Transform.

The flow diagram of this application;

OnCameraFrame method which is located at MainActivity.java;

public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
        Mat input = inputFrame.gray();
        Mat circles = new Mat();
        Imgproc.blur(input, input, new Size(7, 7), new Point(2, 2));
        Imgproc.HoughCircles(input, circles, Imgproc.CV_HOUGH_GRADIENT, 2, 100, 100, 90, 0, 1000);

        Log.i(TAG, String.valueOf("size: " + circles.cols()) + ", " + String.valueOf(circles.rows()));

        if (circles.cols() > 0) {
            for (int x=0; x < Math.min(circles.cols(), 5); x++ ) {
                double circleVec[] = circles.get(0, x);

                if (circleVec == null) {
                    break;
                }

                Point center = new Point((int) circleVec[0], (int) circleVec[1]);
                int radius = (int) circleVec[2];

                Imgproc.circle(input, center, 3, new Scalar(255, 255, 255), 5);
                Imgproc.circle(input, center, radius, new Scalar(255, 255, 255), 2);
            }
        }

        circles.release();
        input.release();
        return inputFrame.rgba();
}

Project Demo

Installation

Dependencies:

How to build and run this source?

  1. Clone project by using Android Studio
  2. Select and build module CircleDetection

Citation

If you use this code for your publications, please cite it as:

@ONLINE{vdtc,
    author = "Ahmet Özlü",
    title  = "Real Time Circle Detection and Tracking for Android OS",
    year   = "2017",
    url    = "https://github.com/ahmetozlu/real_time_circle_detection_android"
}

Author

Ahmet Özlü

License

This system is available under the MIT license. See the LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].