OpenCV新手求助:如何安装/编译opencv_traincascade?
解决opencv_traincascade与createsamples无法运行的问题
核心结论
是的,你必须手动编译OpenCV才能获取这两个工具——从OpenCV 4.x版本开始,官方预编译包(包括Anaconda提供的版本)默认不再包含opencv_traincascade和createsamples。这两个工具属于传统级联分类器模块,被归类到opencv_contrib的legacy组件中,仅能通过手动编译并启用特定选项生成。
基于MinGW-GCC + CMake的编译步骤
- 前置准备:确认MinGW-GCC(建议8.x及以上版本)、CMake已添加到系统环境变量;下载OpenCV 4.9.0源码和对应版本的opencv_contrib源码
- 步骤1:创建空的编译目录(如
D:\opencv_build),作为CMake的构建目录 - 步骤2:打开CMake-GUI,设置:
- "Where is the source code":选择OpenCV源码根目录(如
D:\opencv-4.9.0\sources) - "Where to build the binaries":选择刚才创建的编译目录
- "Where is the source code":选择OpenCV源码根目录(如
- 步骤3:点击
Configure,选择MinGW Makefiles,再选Specify native compilers,分别设置C编译器为mingw32-gcc.exe、C++编译器为mingw32-g++.exe,点击Finish启动配置 - 步骤4:配置完成后,找到并设置以下选项:
- 勾选
BUILD_opencv_legacy:这是编译traincascade和createsamples的核心开关 - 设置
OPENCV_EXTRA_MODULES_PATH为opencv_contrib的modules目录(如D:\opencv_contrib-4.9.0\modules) - 可选取消
BUILD_EXAMPLES、BUILD_TESTS、BUILD_PERF_TESTS,加快编译速度
- 勾选
- 步骤5:再次点击
Configure,直到所有红色选项消失,然后点击Generate生成Makefile - 步骤6:打开命令提示符,进入编译目录,执行命令:
mingw32-make -j4(-j后数字为CPU核心数,比如8核写-j8,提升编译效率) - 步骤7:编译完成后,执行
mingw32-make install完成安装
验证与使用
编译完成后,opencv_traincascade.exe和createsamples.exe会出现在编译目录的bin文件夹中。将该bin目录添加到系统环境变量,或直接在命令行中指定路径运行即可。
注意:Anaconda提供的OpenCV是预编译包,不包含这类工具,手动编译是唯一可行的解决途径。
内容的提问来源于stack exchange,提问作者dip
相关产品推荐
相关产品推荐

