问题标签 [haar-wavelet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opencv - SURF 描述符实现
我想生成SURF 描述符(长度为 64 的向量)。
在原始论文中,这里说:
该区域定期分成较小的 4*4 方形子区域。对于每个子区域,我们在 5*5 规则间隔的样本点处计算 Haar 小波响应。
在OpenCV的帮助下,我可以获得关键点及其相关区域(通过使用KeyPoint::size
and angle
),但我的问题是:
1. 如何计算 Haar 小波响应?
2. 什么是“在 5 x 5 规则间隔的采样点”是什么意思?
我已经阅读了有关 Harr 小波的wiki和介绍,但仍然不知道如何编写代码。
我知道如何使用 OpenCV SurfDescriptorExtractor
,但我不能使用它,因为我需要放大或缩小原始区域并获取新的描述符。
感谢您提供有关如何生成 SURF 描述符的任何提示。
matlab - MatLab Daubechies 彩色图片形式的过滤器 - 不使用预设功能
这是我的第一篇文章。我希望有人可以帮助我开始。所以我一直在为一个班级项目进行图像处理。我们从头开始创建一个 Haar 变换函数,这很简单,然后将其应用于预设图片,例如 cameraman.tif。但是,该示例图片是灰度和方阵。
现在我们取得了很大的飞跃,我们应该将过滤器应用于任何矩形彩色图片。我知道,如果我imread(picture)
将创建一个包含三个值的数组矩阵,分别代表红色、绿色和蓝色 (RGB)。我也明白,原则上我必须使用一个for
循环来遍历每个颜色通道。然而,它让我不知道如何为不同的频道创建它并将图像重新组合在一起。
我在这里经历了一些很棒的答案,并且能够重建女人和水果篮的例子,但不幸的是它们都使用了预设DWT
功能,我不能这样做。
最终代码应该是这样的: 1)询问用户需要多少次迭代:
2)向用户询问阈值
3)询问用户多少次迭代(1-3)
作为示例图像,我选择了一个矩形位图,因为它还没有被压缩并且使用“1”作为一个简单的标识符:
现在我们必须执行 Daubchechies 小波变换,无论用户指定多少次迭代,同时将阈值绝对值之外的值设置为零。在重建图像之前。
我希望我提供了足够的信息,如果我已经出错了,请纠正我(我希望不会)。每次我实现循环并尝试处理通道时,我的代码都会开始中断。仅供参考,这里是适用于原始 cameraman.tif 图像的 Haar 变换:
太感谢了!
opencv - opencv_traincascade 中的无限循环 CvCascadeClassifier::fillPassedSamples
所以我一直在玩opencv最新的LBP级联训练器,我一直在无限循环。我相信原因可能是由于我有限的负(背景)图像集造成的。但是程序不应该陷入无限循环......我设法确定了无限循环的位置并对源代码进行了一些修改,不仅避免了无限循环,而且提高了生成的级联文件的检测性能。但是,我仍然希望了解代码的人告诉我这是否是一个正确的修复以及它为什么起作用(或其他原因):
样本准备:所以我有一个正图像,并使用“createsamples”生成 100 个扭曲/旋转的正样本:
我在“负”目录中只有 5 个负样本。然后我的训练命令:
请注意,即使“neg.txt”中只有 5 张负片图像,我也设置了 -numNeg 200。后来我发现 numNeg 不需要匹配负图像的数量,因为程序会反复从负图像中“裁剪”出图像片段,以针对正图像进行训练。
在第 4 阶段,我遇到了无限循环,它位于(参见“// !!!!!”):
我认为问题是 imgReader.getNeg(img) 不断从负集裁剪,直到满足“preduct(i) == 1”条件以退出无限循环。我不明白“预测(i)”的作用,但我猜如果负集很小且有限,它将用完“预测(i)”的“各种”图像以返回1......所以循环永远不会结束。一种解决方案是创建负集,这是我接下来要尝试的。另一个更快的解决方案是我在 // !!!!!! 中添加的代码 将尝试次数限制为平均每个负图像 200 次,然后如果没有找到好的候选者,则强制退出循环。
通过此修复,我的训练课程进入第 5 阶段,然后停在那里。我将级联 xml 放在我的应用程序中,它的性能相当不错,比我在第 4 阶段设置停止以避免无限循环要好。
我希望更了解代码的人能进一步启发我们......
谢谢你
opencv - OpenCV 2.4.3 Haar 分类器错误 AdaBoost misclass
我在 Ubuntu 12.10 64 位上使用 OpenCV 2.4.3,当我运行 opencv_training 时,我收到如下所示的错误消息。培训仍在继续,所以我不认为这是一个严重错误,但它仍然公然说“错误”。我似乎找不到任何解决方案 - 这是什么意思(什么是 AdaBoost ),为什么它抱怨“错误分类”,我该如何解决?我在 Google 上找到的任何内容都将其称为简单的“警告”,基本上是为了忘记它。谢谢!
opencv - 有什么方法可以检查是否检测到 haar 级联?
该函数detectMultiScale()
返回 void,因此无法使用该函数检查对象是否被检测到
我希望将检测到对象的帧号传递给文本文件。当我无法检查是否检测到级联时,我不知道该怎么做?
我应该cvHaarDetectObjects()
从 C API 使用吗?
请帮忙!
opencv - 使用 Cmake 打开 CV
我正在做一个harr检测项目。我想使用 Opencv 附带的 .cpp 文件生成 exe 文件。我正在使用 CMake。当我尝试这样做时,我收到了这样的错误。不知道怎么解决。
CMakeLists.txt:7 (ocv_check_dependencies) 处的 CMake 错误:未知的 CMake 命令“ocv_check_dependencies”。
配置不完整,出现错误!
源码链接:C:/opencv/apps/haartraining
目标链接:D:/build
请帮我。
opencv - 旋转不变检测器的最佳解决方案是什么?
我想创建一个基于级联分类器的对象检测器,唯一的问题是 LBP 和 Haar 特征不是旋转不变的。我首先想到的是以不同的角度旋转训练样本,但我怀疑生成的分类器是否具有良好的质量,此外,对象可能具有拉伸比例。旋转不变检测器有很多,比如iPhone可以实时识别任意方向的人脸,不知道他们是怎么做到的呢?我更愿意为此使用 OpenCV。
opencv - 显示来自训练有素的 AdaBoost 分类器的 Haar 特征
有没有办法直观地显示在分类器的每个阶段使用了哪些 Haar 特征?
我最近使用 opencv_traincascade.exe 训练了一个分类器来检测车辆。为了进一步分析,我希望看到在每个阶段都在评估的功能。
谢谢你的帮助。
编辑
如果任何人都可以提供有关 cascade.xml 的信息,那就太好了,节点的含义是什么。谢谢
opencv - haar 分类器中 cascade.xml 的解释
如果有人可以完全解释 cascade.xml 中的数字/值,那将是最好的。示例:
这些值的含义是什么
另一个问题是,程序如何知道在特定阶段使用哪个功能?据我所知,功能的形式如下
其中它是两个矩形的坐标,形成如下所示:
什么是值-1。3.是什么意思?我知道它的权重,但它是如何用于计算特征的?
概括
- 里面的值是什么意思
<internalNodes>
? - 特征是如何计算的?砝码如何
<rects>
使用? - 最重要的是,哪个字段表示在特定阶段/节点中使用了哪些功能。
谢谢!
haar-wavelet - 是否有任何使用 Haat 作为母亲 wavley 进行小波变换的 java 库?
您好正在开发一个使用小波变换进行特征提取的应用程序。我无法使用 haar 转换转换 2d Discrete wavelets Transformation 。我需要一个源代码来做到这一点。是否有任何可用的 java 库来执行此操作。请给我详细说明。