GithubHelp home page GithubHelp logo

xufabing / high-quality-ellipse-detection Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alanlusun/high-quality-ellipse-detection

0.0 1.0 0.0 922 KB

A high-quality ellipse detector based on arc-support line segments which can both accurately and efficiently detect ellipses in images.

MATLAB 18.55% C++ 81.45%

high-quality-ellipse-detection's Introduction

High-quality Ellipse Detection

1. Illustration

  • This is the source code for the paper High-quality Ellipse Detection Based on Arc-support Line Segments.
  • The main contribution of the proposed ellipse detector is to both accurately and efficiently detect ellipses in images, which is universally considered as a tough and long-standing problem in ellipse detection field. The proposed ellipse detector owns the features of high localization accuracy, efficiency, robustness, and stability, which comprehensively yields high-quality ellipse detection performance in front of real-world images.
  • There are only two extrinsic parameters, namely the elliptic angular coverage Tac and the ratio of support inliers Tr, which enables the proposed ellipse detector to be conveniently used and applied in real applications. In addition, the specified_polarity option can help users find the polarity-specific ellipses in the image.
  • The source code is free for academic use. Please cite our paper if you use the source code, thanks.

2. Requirements

  • MATLAB
  • OpenCV (Version 2.4.9)
  • 64-bit Windows Operating System

3. How to use

  • Firstly, compile the file "generateEllipseCandidates.cpp" in MATLAB on your computer to generate the mex file "generateEllipseCandidates.mexw64" with the following command:


    mex generateEllipseCandidates.cpp -IF:\OpenCV\opencv2.4.9\build\include -IF:\OpenCV\opencv2.4.9\build\include\opencv -IF:\OpenCV\opencv2.4.9\build\include\opencv2 -LF:\OpenCV\opencv2.4.9\build\x64\vc11\lib -IF:\Matlab\settlein\extern\include -LF:\Matlab\settlein\extern\lib\win64\microsoft -lopencv_core249 -lopencv_highgui249 -lopencv_imgproc249 -llibmwlapack.lib


    Notably, the corresponding software paths of OpenCV and MATLAB, namely the "F:\OpenCV\opencv2.4.9" and "F:\Matlab\settlein", should be replaced to your own.

  • Secondly, run the demo file "LCS_ellipse.m".

4. Examples

Some high-quality ellipse detection examples run with default parameters and on the same computer with Intel Core i7-7500U 2.7GHz CPU and 8 GB memory

4.1 Detecting all ellipses in the image


  • The number of detected ellipses: 4; Running time: 0.090s; Resolution: 651 x 436

  • The number of detected ellipses: 25; Running time: 0.460s; Resolution: 720 x 435

  • The number of detected ellipses: 3; Running time: 0.060s; Resolution: 512 x 456

  • The number of detected ellipses: 8; Running time: 0.110s; Resolution: 752 x 525

4.2 Detecting the ellipses with positive polarity

  • The number of detected ellipses: 4; Running time: 0.080s; Resolution: 752 x 525

4.3 Detecting the ellipses with negative polarity

  • The number of detected ellipses: 4; Running time: 0.086s; Resolution: 752 x 525

5. Successful Application Cases

  • Car Wheel Hub Recognition
  • PCB Inspection
  • Object Fingerprinting
  • Robot Vision

6. Citation

@article{Lu2018Highquality,
  title     = {High-quality Ellipse Detection Based on Arc-support Line Segments},
  author    = {Lu, Changsheng and Xia, Siyu and Shao, Ming and Fu, Yun},
  journal   = {arXiv preprint arXiv:1810.03243},
  Year = {2018}
}

high-quality-ellipse-detection's People

Contributors

alanlusun avatar

Watchers

James Cloos avatar

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.