c++ - 特征提取 : Divide the ROI into small windows(patches) or let it be as ROI?

标签 c++ opencv image-processing feature-extraction roi

我对图像 ROI 的特征提取很感兴趣,这些特征将用作支持 vector 机的特征向量输入。 要提取的特征包括纹理(颜色共现/haralick 特征)和颜色(rgb-直方图,4 bins 和均值 r,g,b)- 总共 29 个特征/属性。

问题:
将 ROI 分成小部分(nxn 窗口/补丁) 先计算特征再计算?优点/缺点是什么?两者中哪一个会提供更有意义的特征?

假设,如果将 ROI 分成小部分是更好的选择,并且它会在训练阶段被馈送到 SVM,svm 预测或测试将如何?测试图像/测试感兴趣区域的特征提取是否也必须分成小部分并输入 svm-predict 函数(就像训练过程一样)?还是直接在测试ROI上提取特征就可以了?

顺便说一句,我正在尝试对叶子中发现的疾病类型进行分类(3 种类型,1 种健康)。到目前为止,svm-predict 的结果很差(预测只有 1 个类别,大约 20%),并且发现每个类别的特征彼此之间没有很好的区分。这是 ROI 的示例图像(3 种类型)。

3 种类型:https://drive.google.com/folderview?id=0B1aXcXzD_OADX3VvbjlKbFJBZzg&usp=sharing

我正在使用 OpenCV。在 C++ 中。任何解释和引用都会有所帮助。

最佳答案

功能将保持不变或不同取决于您将要使用的功能类型。例如,如果你的特征是 Hue-histogram 那么我认为它不会影响太大但是如果你使用像 SIFT/SURF 这样的特征那么它们肯定会有所不同因为 SIFT 考虑了几个因素比如边缘并且它可能是整个图像中的边缘不会在较小的区域中显示为边缘。

我建议您自己进行一些测试,因为理论结果和实际结果总是不同的。因此,如果您使用整个 ROI 提取它们,请尝试找出您的特征看起来如何……以及如果您在将 ROI 分成几个部分后提取它们,它们总体上看起来如何。

关于c++ - 特征提取 : Divide the ROI into small windows(patches) or let it be as ROI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22588118/

相关文章:

c++ - 自制维吉尼亚密码;使用 ascii 字符操作

centos7上opencv-3.0.0安装报错

algorithm - 使用什么算法来标准化图像上某人的脸?

c++ - 如何保持指针在 vector 中有效,指向其他 vector 中的项目

c++ - Eclipse CDT 中的虚假错误:boost::iostreams

python - 带有 alpha 层的 PNG 图像上的 OpenCV 边缘检测

c++ - 如果我的相机分辨率没有改变,如何捕捉?

image-processing - ImageMagick 的 '-subimage-search' 操作是如何工作的?

python - Python中的下采样数组

C++ |在类中非法使用结构