opencv haartraining训练过程总结dir /b > info.txt

由于毕设需求,需要用到opencv的机器学习模块,从网上搜索到opencv已经集成好了两个模块,分别是opencv_createsamples.exe和opencv_haartraining.exe,它们一般都在opencv\build\x86\vc10\bin文件目录下,作用是生成样本vec文件和训练数据集,生成一个分类器。其配置过程比较复杂,现做如下总结:

1、首先准备两套数据集,一个是正例样本,一个是反例样本。正例样本就是要进行识别的数据集,要求是必须统一大小,反例样本不需要特殊要求,只要不含有识别物体即可,大小无所谓。至于正例反例的样本数量,参见http://bbs.csdn.net/topics/390388465

2、生成文档说明文件,在Windows下cmd切换到样本所在目录,输入命令dir /b > info.txt,然后打开该文件,删除文件最后一行,ctrl+h替换文件后缀名,比如是jpg文件替换为jpg 1 0 0 20 20,1代表是正例,0 0 20 20代表图像取图像的区域,一般图像大小不要太大,我机子跑64*64就已经爆内存了。然后切换到反例样本目录下,输入命令dir /b > bg.txt,生成反例样本,删除最后一行,除此之外无需再做改动。

3、执行opencv_createsamples.exe -info E:\openCV\opencv\build\x86\vc10\bin\people\info.txt -vec a.vec -num 50 -w 20 -h 20,注意这里最后两个参数就是之前设置的图像大小,num是指的生成样本数量,需要与文件夹中的文件数目一致。这一步之后会生成一个.vec文件。

4、执行opencv_haartraining.exe  -data data -vec E:\openCV\opencv\build\x86\vc10\bin\a.vec -bg E:\openCV\opencv\build\x86\vc10\bin\car\bg.txt -npos 250 -nneg 800 -nstages 4 -nsplits 2 -mem 512 -nonsym -w 20 -h 20 -minpos 100,前一步生成样本向量问题应该都不大,但是这一步出现的错误就会千奇百怪了。

首先,如果是提示断言错误,调整样本数量和参数,如果提示内存不足,缩小样本图像的大小,如果提示找不到反例样本,查看bg.txt是否符合要求,或是其路径是否正确。

5、执行完该步之后,会生成一个文件夹和xml文件,至此训练完成。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解释根据给出的代码,可以将其转化为以下CMake代码: 复制 cmake_minimum_required(VERSION 3.5) project(UavRectifyLoadLIb LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) find_package(Qt5Core REQUIRED) add_executable(UavRectifyLoadLIb main.cpp ) target_link_libraries(UavRectifyLoadLIb PRIVATE Qt5::Core UAVAutoRectifyMt UAVAutoRectify UAVAutoRectifyFi DEMDriver Projection IImage_gC opencv_core opencv_highgui opencv_imgproc opencv_features2d opencv_imgcodecs ) target_include_directories(UavRectifyLoadLIb PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/gdal1101 ${CMAKE_CURRENT_SOURCE_DIR}/../include ${CMAKE_CURRENT_SOURCE_DIR}/../../../lib/opencvf249 ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../../usr/local/include ) if(UNIX AND NOT APPLE) target_link_directories(UavRectifyLoadLIb PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../product/release32 ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../../usr/local/lib ) endif() if(WIN32) if(CMAKE_BUILD_TYPE STREQUAL "Debug") set_target_properties(UavRectifyLoadLIb PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/../../../../RasterManager/bin/Debug ) else() set_target_properties(UavRectifyLoadLIb PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/../../../../RasterManager/bin/release ) endif() else() if(CMAKE_BUILD_TYPE STREQUAL "Debug") set_target_properties(UavRectifyLoadLIb PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/../../../product/release32 ) else() set_target_properties(UavRectifyLoadLIb PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/../../../product/release32 ) endif() endif()
最新发布
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值