High-quality-ellipse-detection

High-quality-ellipse-detection

个人环境:Matlab 2019a、VS2017、Opencv3.4.4,64位Windows操作系统

OpenCV环境配置请看这篇

OpenCV入坑指南:环境搭建篇

MatLab和C++混合编程环境配置

Matlab的安装这里不再说

  1. 在命令行里输入 mex -setup,选择vs就行了
  2. 执行 mex -setup C++完成配置

下载Github文件

download Zip即可

导入依赖文件

D:\OpenCV\opencv\build\x64\vc15\lib下的 opencv_world344.lib文件复制到你的Matlab安装路径下的 microsoft文件夹下,我的是 D:\MATLAB\R2019a\extern\lib\win64\microsoft


在Matlab中导入文件

在命令行执行以下命令

注意作者的命令为:

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

把OpenCV和Matlab的相关文件的路径改成你的安装路径
我这里版本号为OpenCV3.4.4,安装路径如下,

故修改为D:\OpenCV\opencv\build...,
由于OpenCV3.4.4只有 opencv_world344.lib 这一个lib文件,故将 LF:\Matlab\settlein\extern\lib\win64\microsoft -lopencv_core249 -lopencv_highgui249 -lopencv_imgproc249 -llibmwlapack.lib 修改为 LD:\Matlab\R2019a\extern\lib\win64\microsoft -lopencv_world344 -llibmwlapack.lib

完整的命令为:

mex generateEllipseCandidates.cpp -ID:\OpenCV\opencv\build\include 
-ID:\OpenCV\opencv\build\include\opencv -ID:\OpenCV\opencv\build\include\opencv2 
-LD:\OpenCV\opencv\build\x64\vc15\lib 
-ID:\Matlab\R2019a\include -LD:\Matlab\R2019a\extern\lib\win64\microsoft -lopencv_world344 -llibmwlapack.lib


编译成功之后生成generateEllipseCandidates.mexw64文件

之后再运行LCS_ellipse.m

## 报错解决办法

  1. 如图

    在.cpp文件中添加
using namespace std
  1. 如图


缺少lib文件,检查一下是不是配置出错了

参考文献:

  1. Arc-support Line Segments Revisited: An Efficient and High-quality Ellipse Detection

   转载规则


《High-quality-ellipse-detection》 GeekOcean 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录