yjxiong / temporal-segment-networks

Code & Models for Temporal Segment Networks (TSN) in ECCV 2016
BSD 2-Clause "Simplified" License
1.53k stars 477 forks source link

For compatibility with opencv3.x issue#276 #277

Open Light-- opened 4 years ago

Light-- commented 4 years ago

mentioned in https://github.com/yjxiong/temporal-segment-networks/issues/276 This is a contradiction: The build_all.sh install opencv 2.4.13.6, opencv 2.4.13.6 don't have opencv_contrib, so it surely will not have xfeatures2d. But dense_flow/src/dense_warp_flow_gpu.cpp needs xfeatures2d for compiling, so actually i have to modify the build_all.sh to install opencv3.x, not 2.x and changed the api format from 2.x to 3.x in dense_flow.cpp, accordingly

yjxiong commented 4 years ago

Thanks! Do you have some reference for opencv-2.4.13 removing the contrib module?

The DenseFlow package is recently updated to support opencv v4 and MMAction. Also I would suggest you switch to MMAction for TSN and related models.

Light-- commented 4 years ago

Thanks! Do you have some reference for opencv-2.4.13 removing the contrib module?

hi, after 2.4.9, opecv_contrib becomes a module independent of opencv. In the release note of opencv, the next released version of opencv 2.4.9 is opencv 3.0 alpha, and in opencv 3.0 alpha change log, they officially said:

Some functionality has been moved to opencv_contrib repository or just disappeared. After revision, we may put a part of disappeared functionality back to opencv (or opencv_contrib).

Note that among the moved functionality is Face Recognition (now a separate module opencv_contrib/face); SIFT, SURF, FREAK, Star feature detectors and descriptors (now a part of opencv_contrib/xfeatures2d); text detector (now a part of module opencv_contrib/text); matlab bindings (opencv_contrib/matlab); motion templates & simple flow (opencv_contrib/optflow).
...
After massive functionality migration to opencv_contrib and other major changes some Python bindings may be missing. We will fix it by OpenCV 3.0 beta.

This is the most official statement I can find. 2.4.13.6 is one of the versions after 2.4.9, so there is no built-in contrib module, too. If you're still not sure, you can compare the differences of the APIs between 2.4.13.6 and 3.x.

Thanks.