- 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.
- MATLAB
- OpenCV (Version 2.4.9)
- 64-bit Windows Operating System
-
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".
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
- The number of detected ellipses: 5; Running time: 0.226s; Resolution: 1000 x 680. (
$T_{ac} = 165^{o}$ ,$T_r = 0.5$ )
- Car Wheel Hub Recognition
- PCB Inspection
- Object Fingerprinting
- Robot Vision
@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}
}
We also proposed a circle detection method in our previous work which could detect circles from image efficiently, precisely and robustly.