bulding aam-opencv in opencv 3.0 without legacy.hpp

1.4k Views Asked by At

It seems that delaunay.h in aam-opencv misses a library (legacy.hpp) in opencv3.0 which has been deprecated (Planar Subdivisions). So, I get:

||=== Build: all in AAM (compiler: GNU GCC Compiler) ===|
C:\CodeBlocks\aam-opencv\include\delaunay.h|130|error: 'CvSubdiv2DEdge' has not been declared|
C:\CodeBlocks\aam-opencv\include\delaunay.h|135|error: 'CvSubdiv2D' does not name a type|
C:\CodeBlocks\aam-opencv\include\delaunay.h|137|error: 'CvSubdiv2D' does not name a type|
C:\CodeBlocks\aam-opencv\src\main.cpp||In member function 'void aamTrainer::loadModel(char*)':|
(...)

Is there any suggestions on how to fix it? Any new library/objects to substitute them?

1

There are 1 best solutions below

0
On

OpenCV 3 has Subdiv2D class. Simply change CvSubdiv2D to Subdiv2D and make sure you include "imgproc.hpp". It has also got a getEdge method that will help you. Please, check opencv\samples\cpp\delaunay2.cpp . It has got the new methods working.