All Projects → AlanLuSun → High Quality Ellipse Detection

AlanLuSun / High Quality Ellipse Detection

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

Projects that are alternatives of or similar to High Quality Ellipse Detection

Imageglass
🏞 A lightweight, versatile image viewer
Stars: ✭ 3,284 (+1158.24%)
Mutual labels:  image-processing
Perceptual Reflection Removal
Single Image Reflection Separation with Perceptual Losses
Stars: ✭ 247 (-5.36%)
Mutual labels:  image-processing
Ai Job Notes
AI算法岗求职攻略(涵盖准备攻略、刷题指南、内推和AI公司清单等资料)
Stars: ✭ 3,191 (+1122.61%)
Mutual labels:  image-processing
Lycon
A minimal and fast image library for Python and C++
Stars: ✭ 235 (-9.96%)
Mutual labels:  image-processing
Image Super Resolution
🔎 Super-scale your images and run experiments with Residual Dense and Adversarial Networks.
Stars: ✭ 3,293 (+1161.69%)
Mutual labels:  image-processing
Buildopencvtx2
Build and install OpenCV for the NVIDIA Jetson TX2
Stars: ✭ 249 (-4.6%)
Mutual labels:  image-processing
Dehazezoo
DehazeZoo for collecting dehazing methods, datasets, and codes.
Stars: ✭ 228 (-12.64%)
Mutual labels:  image-processing
Popsift
PopSift is an implementation of the SIFT algorithm in CUDA.
Stars: ✭ 259 (-0.77%)
Mutual labels:  image-processing
Image Js
Image processing and manipulation in JavaScript
Stars: ✭ 241 (-7.66%)
Mutual labels:  image-processing
Photoeditor
A Photo Editor library with simple, easy support for image editing using paints,text,filters,emoji and Sticker like stories.
Stars: ✭ 3,105 (+1089.66%)
Mutual labels:  image-processing
Node S3 Uploader
Flexible and efficient resize, rename, and upload images to Amazon S3 disk storage. Uses the official AWS Node SDK for transfer, and ImageMagick for image processing. Support for multiple image versions targets.
Stars: ✭ 237 (-9.2%)
Mutual labels:  image-processing
Resize
Pure golang image resizing
Stars: ✭ 2,765 (+959.39%)
Mutual labels:  image-processing
Opencv
Open Source Computer Vision Library
Stars: ✭ 58,652 (+22372.03%)
Mutual labels:  image-processing
Nyximageskit
A set of efficient categories for UIImage class. It allows filtering, resizing, masking, rotating, enhancing... and more.
Stars: ✭ 2,553 (+878.16%)
Mutual labels:  image-processing
Noaa Apt
NOAA APT weather satellite image decoder, for Linux, Windows, RPi 2+ and OSX
Stars: ✭ 257 (-1.53%)
Mutual labels:  image-processing
Graphite
Open source 2D node-based raster/vector graphics editor (Photoshop + Illustrator + Houdini = Graphite)
Stars: ✭ 223 (-14.56%)
Mutual labels:  image-processing
Computer Vision Guide
📖 This guide is to help you understand the basics of the computerized image and develop computer vision projects with OpenCV. Includes Python, Java, JavaScript, C# and C++ examples.
Stars: ✭ 244 (-6.51%)
Mutual labels:  image-processing
Photoflare
Quick, simple but powerful Cross Platform image editor.
Stars: ✭ 260 (-0.38%)
Mutual labels:  image-processing
Rawpy
📷 RAW image processing for Python, a wrapper for libraw
Stars: ✭ 256 (-1.92%)
Mutual labels:  image-processing
Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Stars: ✭ 255 (-2.3%)
Mutual labels:  image-processing

High-quality Ellipse Detection

1. Illustration

  • This is the source code for the paper Arc-support Line Segments Revisited: An Efficient and High-quality Ellipse Detection. Important: Please use the citation of our IEEE TIP version instead of arXiv version.
  • 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 $T_{ac}$ and the ratio of support inliers $T_{r}$, 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 default parameters $T_{ac} = 165^o$ and $T_{r} = 0.6$ are used for comparison experiments in our paper.
  • 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

4.4 Detecting the ellipses sharing different polarity

  • The number of detected ellipses: 5; Running time: 0.226s; Resolution: 1000 x 680. ($T_{ac} = 165^{o}$, $T_r = 0.5$)

5. Successful Application Cases Up to Now

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

6. Citation

@article{lu2019arc,
  title={Arc-Support Line Segments Revisited: An Efficient High-Quality Ellipse Detection},
  author={Lu, Changsheng and Xia, Siyu and Shao, Ming and Fu, Yun},
  journal={IEEE Transactions on Image Processing},
  volume={29},
  pages={768--781},
  year={2020},
  publisher={IEEE}
}

7. Our Previous Work

We also proposed a circle detection method in our previous work which could detect circles from image efficiently, precisely and robustly.

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].