Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenCV:如何创建与opencv_traincascade一起使用的.vec文件

OpenCV:如何创建与opencv_traincascade一起使用的.vec文件
EN

Stack Overflow用户
提问于 2016-01-31 23:35:03
回答 2查看 4.2K关注 0票数 2

正如我在上一篇文章here中所解释的那样,我正在尝试生成一些cascade.xml文件来识别将在我的iOS应用程序中使用的欧元硬币。无论如何,我在理解如何生成.vec文件作为opencv_traincascade的输入时遇到了许多困难。这是因为我听到了许多不同的观点:有人告诉我,向量文件必须只包括只包含待识别对象的正面图像;其他人(以及我的教程中的阅读)说,向量文件必须包括“样本”图像,换句话说,opencv_createsamples添加了要识别的对象的随机背景。在文字中有:

opencv_createsamples -img positives/1.png -bg negatives.txt -info 1.txt -num 210 -maxxangle 0.0 -maxyangle 0.0 -maxzangle 0.9 -bgcolor 255 -bgthresh 8 -w 48 -h 48

产生了12000幅图像。最后,我使用以下内容创建了.vec文件:

cat *.txt > positives.txt

opencv_createsamples -info positives.txt -bg negatives.txt -vec 2.vec -num 12600 -w 48 -h 48

因此,我想问一下,哪些正确的图像将包含在以下两个矢量文件中:

此外,进行训练的最后命令是哪一个?到目前为止,这是我用过的:

opencv_traincascade -data final -vec 2.vec -bg negatives.txt -numPos 12000 -numNeg 3000 -numStages 20 -featureType HAAR -precalcValBufSize 2048 -precalcIdxBufSize 2048 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -w 48 -h 48 -mode ALL

其中.vec文件包含12000个样本图像(背景+硬币识别)。如果.vec文件只包含正面图像(只有硬币),我应该如何告诉opencv_traincascade使用样本图像进行培训?

我真的需要知道如何做正确的事情,因为我已经开始了很多训练,然后导致没有正确的结果,因为它们需要很多小时或几天来执行,我不能再浪费时间了。

感谢大家的关注。

UPDATE I使用LBP创建了一个cascade.xml文件。看看如果我将一个用作训练样本的映像提供给一个简单的OpenCV程序会发生什么:

而图像如下所示:

根本不起作用。我真的不知道我在哪里犯了这个错误。

更新,首先,将正图像转换为灰度可能会有帮助吗?

EN

回答 2

Stack Overflow用户

发布于 2016-02-01 04:26:10

我使用了INRIA培训http://pascal.inrialpes.fr/data/human/negative samples数据库

而这个投入(png与α透明围绕硬币):

使用此命令如下:

opencv_createsamples -img pos_color.png -num 10 -bg neg.txt -info test.dat -maxxangle 0.6 -maxyangle 0 -maxzangle 0.3 -maxidev 100 -bgcolor 0 -bgthresh 0

产生这样的输出:

所以背景颜色显然不起作用。然而,在开始时转换为灰度给了我这个输入:

相同的命令产生如下输出:

我知道这不是你所有问题的答案,但也许它仍然有帮助。

票数 3
EN

Stack Overflow用户

发布于 2016-02-01 01:46:59

OpenCV级联(HAAR,LBP)能够很好地检测出具有永久性特征的物体。例如,所有的脸都有鼻子,眼睛和嘴在同一个地方。OpenCV级联被训练为在所需的对象类中搜索公共特性,而忽略在不同对象之间变化的特性。问题是,级联使用矩形搜索窗口,但硬币是圆形的。因此,一枚硬币的形象总是有一定的背景。因此,硬币的训练图像必须包括所有可能的背景,这样分类器才能忽略它们(否则只能在特定的背景上检测硬币)。

因此,所有训练样本必须具有相同的图像比,硬币的大小和位置(以硬币为中心的方形图像,硬币直径= 0.8-0.9图像宽度),以及不同的背景!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35125138

复制
相关文章
一文解决OpenCV训练分类器制作xml文档的所有问题
码科智能
2018/01/03
3.1K0
一文解决OpenCV训练分类器制作xml文档的所有问题
目标检测之训练opencv自带的分类器(opencv_haartraining 或 opencv_traincascade)
    http://www.OpenCV.org.cn/opencvdoc/2.3.2/html/doc/user_guide/ug_traincascade.html
MachineLP
2022/05/09
2.4K0
目标检测之训练opencv自带的分类器(opencv_haartraining 或 opencv_traincascade)
Python OpenCV 计算机视觉:6~7
本附录显示了如何在 OpenCV 应用中设置 Pygame 库以及如何使用 Pygame 进行窗口管理。 此外,附录还概述了 Pygame 的其他功能以及一些学习 Pygame 的资源。
ApacheCN_飞龙
2023/04/27
1.2K0
opencv_traincascade训练分类器,手势识别。
opencv_traincascade 训练方法,参考本人的博客:Here; xml和video下载地址:Here。 测试代码: #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/opencv.hpp> using namespace std; using namespace cv; // Global variables // Co
MachineLP
2022/05/09
1.2K0
opencv-haar-classifier-training
22 July 2013, posted by  Thorsten Ball
MachineLP
2022/05/09
5160
opencv-haar-classifier-training
如何使用Python创建NetCDF文件
之前介绍过如何使用Python处理NetCDF格式文件,这次介绍一下如何创建NetCDF文件。
MeteoAI
2019/07/24
14.9K1
OpenCV-Python实战(2) —— 使用OpenCV的绘图功能创建OpenCV的徽标
1. 需求分析 使用OpenCV中可用的绘图功能创建OpenCV的徽标; 目标图像及目标图像的宽高; 测量绘制的目标的外径和内径; 测量绘制的目标的颜色; 计算绘制的目标的圆心; 绘制目标的文字; 将原图和绘制图像放到一起对比。 2. 目标图像 3. 代码实现 目标图像及目标图像的宽高; 复制一个opencv-logo矩阵; 使用Photoshop测量外径和内径; 使用Photoshop测量各个圆的颜色; 计算各个绘制圆的圆心; 分别绘制三个圆,使用同心圆去掉中间部分,使用椭圆实现圆弧缺口; 绘制 Op
Rattenking
2022/11/07
6830
OpenCV-Python实战(2) —— 使用OpenCV的绘图功能创建OpenCV的徽标
OpenCV之图像创建与赋值
python代码: import cv2 as cv import numpy as np src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) # 克隆图像 m1 = np.copy(src) # 赋值 m2 = src src[100:200,200:300,:] = 255 cv.imshow("m2",m2) m3 = np.zeros(src.sha
MachineLP
2021/07/19
4740
OpenCV之图像创建与赋值
C++:Armadillo与OpenCV矩阵数据mat、vec、Mat的格式转换
  本文介绍在C++语言中,矩阵库Armadillo的mat、vec格式数据与计算机视觉库OpenCV的Mat格式数据相互转换的方法。
疯狂学习GIS
2023/06/26
3870
C++:Armadillo与OpenCV矩阵数据mat、vec、Mat的格式转换
eclipse 创建java文件_如何使用eclipse创建一个java文件
方式二:鼠标在代码编辑区右键,然后选中:run As –> java application
全栈程序员站长
2022/09/09
3.1K0
OpenCV-Python学习(4)—— OpenCV 图像对象的创建与赋值
1. 学习目标 图像对象的属性; 图像对象的创建与赋值。 2. 图像对象的属性 通过 image.shape 获取图像的宽、高、通道数; 通过 image.dtype 获取图像数据类型; 通过 image.size 获取图像的像素总数。 3. 代码演示 默认使用三通道读取图片; 获取图片的宽、高、通道数; 三通道模式下图像的像素总数; 图像的数据类型; 使用灰度模式读取图片; 重复第二步到第四步的打印。 import cv2 as cv def get_image_shape(): # 彩色模式读取(
Rattenking
2022/10/04
1.9K0
OpenCV-Python学习(4)—— OpenCV 图像对象的创建与赋值
Qt5 和 OpenCV4 计算机视觉项目:6~9
在上一章中,我们了解了光学字符识别(OCR)技术。 我们借助 Tesseract 库和预训练的深度学习模型(EAST 模型)来识别扫描文档和照片中的文本,该模型已随 OpenCV 一起加载。 在本章中,我们将继续进行对象检测这一主题。 我们将讨论 OpenCV 以及其他库和框架提供的几种对象检测方法。
ApacheCN_飞龙
2023/04/27
3.3K0
Qt5 和 OpenCV4 计算机视觉项目:6~9
opencv remap matlab,如何使用OpenCV的remap函数?
这只是对文件的一个简单的误解,我不怪你——我也花了几次摸索才明白。文档很清楚,但是这个函数可能没有按您预期的方式工作;事实上,它在与我最初预期相反的方向工作。
全栈程序员站长
2022/11/15
1.3K0
opencv remap matlab,如何使用OpenCV的remap函数?
【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )
博客源码下载地址 : https://download.csdn.net/download/han1202012/87358942
韩曙亮
2023/03/30
1.2K0
【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )
如何使用 SEGGER Embedded Studio创建库文件?
编译器环境:SEGGER Embedded Studio v5.60(SES) 硬件环境:nrf52840
李肖遥
2022/12/22
2.1K0
如何使用 SEGGER Embedded Studio创建库文件?
word2vec原理与Gensim使用[通俗易懂]
与NNLM相比,word2vec的主要目的是生成词向量而不是语言模型,在CBOW中,投射层将词向量直接相加而不是拼接起来,并舍弃了隐层,这些牺牲都是为了减少计算量。不经过优化的CBOW和Skip-gram中 ,在每个样本中每个词的训练过程都要遍历整个词汇表,也就是都需要经过softmax归一化,计算误差向量和梯度以更新两个词向量矩阵(这两个词向量矩阵实际上就是最终的词向量,可认为初始化不一样),当语料库规模变大、词汇表增长时,训练变得不切实际。为了解决这个问题,word2vec支持两种优化方法:hierarchical softmax 和negative sampling。
全栈程序员站长
2022/08/29
1.6K0
word2vec原理与Gensim使用[通俗易懂]
完成OpenCV分类器训练的最简单方法
本来想着使用现成的轮子,用 yolov3 做侦测,自己搞一点数据集训练一个新的丹出来就好了。但是做一半和老师沟通的时候得知希望算法对性能的要求不能太高,所以只好换一个思路,使用 OpenCV 的分类器来完成任务。
HomeboyC
2022/09/19
9580
【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ② ( VS 中创建 CMake 工程 | CMake 工程中配置 OpenCV 头文件 )
打开 Visual Studio 2019 , 在 VS 欢迎界面中 , 选择 " 创建新项目 " 选项 ,
韩曙亮
2023/03/30
2.5K0
【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ② ( VS 中创建 CMake 工程 | CMake 工程中配置 OpenCV 头文件 )
如何创建.htaccess 文件
关于.htaccess 文件,一般用于虚拟主机中,使用 VPS 建站的可以忽略了。对于使用虚拟主机建站的朋友来说.htaccess 文件可以用作伪静态化设置和 404 页面设置,不过刚接触虚拟主机的朋友可能还不了解,那么下面就来说如何创建.htaccess 文件。
魏艾斯博客www.vpsss.net
2018/05/07
6.4K10
如何创建.htaccess 文件
如何创建.htaccess 文件
关于.htaccess 文件,一般用于虚拟主机中,使用 VPS 建站的可以忽略了。对于使用虚拟主机建站的朋友来说.htaccess 文件可以用作伪静态化设置和 404 页面设置,不过刚接触虚拟主机的朋友可能还不了解,那么下面就来说如何创建.htaccess 文件。 什么是.htaccess 文件? 是虚拟主机根目录中存在的一个配置文件,它负责相关目录下的网页配置。通过 htaccess 文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、
魏艾斯博客www.vpsss.net
2018/06/01
3.2K0

相似问题

如何运行opencv_traincascade?

110

使用opencv_traincascade创建haar分类器

10

Opencv_traincascade冻结

18

opencv_traincascade的参数

30

OpenCV:如何使用opencv_createsamples和opencv_traincascade

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档