OpenCV关于hog特征向量的个数

转载 2015年07月07日 10:54:02
  • 其实原理是很简单的, 在OpenCV实现的是R-HOG, 即对图像img->窗口window->块block->细胞单元cell进行向量统计
    首先看描述器的构造函数, 我用
            HOGDescriptor *desc=new HOGDescriptor(cvSize(40,80),cvSize(10,20),cvSize(5,10),cvSize(5,5),9);
    进行测试..
     
    这里的window为(40, 80), block为(10, 20), block的步进stride是(5, 10), 细胞单元cell是5 * 5像素, 每个cell的直方图bin是9.
    于是,
    对每一个cell, 有9个向量
    对每一个block, 有2*4个cell, 所以有72个向量
    对于window而言, 计算block个数的方法是, 对两个方向计算 (window_size - block_size)/block_stride + 1, 算得共有7*7 个block, 共有72*49=3528个向量
     
    在搜索img, 计算图片特征的时候, 调用desc->compute(img,w,cvSize(10,20),cvSize(0,0));
    其中img是输入图像, w是保存向量的vector, 第三个是window的步进, 第四个是padding, 用于填充图片以适应大小的.
     
    当设置padding为默认(0,0)时, 计算(img_size - window_size) / window_stride +1 不一定为整数
    在compute函数中可以看到:
        padding.width = (int)alignSize(std::max(padding.width, 0), cacheStride.width);
        padding.height = (int)alignSize(std::max(padding.height, 0), cacheStride.height);
    即padding的大小会自动适应stride的值.
    gz_ricky输入的图片是96*160的, 对应了5.6 * 5, 经函数调整后变成6 * 5 =30
     
     所以对这张96*160的图片, 共有105840个特征向量
     
    PS. 如果设置了padding的值, 图片就会先伸展padding*2, 或许是和内部那个paddingTL和paddingBR两个有关, 即在Top-Left和Button-Right两个方向都扩展. 计算特征数方法同上.
     

    hog特征值会生成以后,  可以转入svm训练的阶段了..

HOG参数简介及Hog特征维数的计算

HOG构造函数 CV_WRAP HOGDescriptor() :winSize(64,128), blockSize(16,16), blockStride(8,8),      cellSize...
  • xl890727
  • xl890727
  • 2012年08月29日 14:51
  • 18345

目标检测的图像特征提取之(一)HOG特征

1、HOG特征:        方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统...

【特征检测】HOG特征算法

HOG(Histogram of Oriented Gridients的简写)特征检测算法,最早是由法国研究员Dalal等在CVPR-2005上提出来的,一种解决人体目标检测的图像描述子,是一种用于表...

OpenCV的HOG+SVM训练程序注意事项

使用OpenCV进行分类训练的时候,注意(1)必须使用线性核函数,HOGDescriptor只支持线性核函数检测(2)保存文件的时候注意要将alpha*supportvector的负数形式...

opencv提取hog

hog是一个基于梯度的直方图提取算法,用于人体检测十分有效。在opencv2.2+版本里面已经实现。 封装在HOGDescriptor类里。 hog其实就是对一副图片的指定大小区域进行梯度统计。可...

opencv 学习之 车牌识别

去年三月写过一篇文章,就是这货: http://blog.csdn.net/u010477528/article/details/44095699 车牌提取,基于OpenCV,当时仅做到车牌提取,后来...

python opencv 对像素进行操作

本节实现的是在图片上模拟机上椒盐噪声,主要过程如下。 - 打开一个图片 - 产生随机坐标 - 加上“椒盐” - 显示加噪图片...

OpenCV关于hog特征向量的个数

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://www.blogbus.com/gz-ricky-logs/85326280.html 今天脑袋终于开窍了, 把...

OpenCV——HoG特征

转自http://hi.baidu.com/icekeydnet/blog/item/4555173d265e9aea3b87ce67.html hog是一个基于梯度的直方图提取算法,用于人体检...

HOG特征显示C++ OpenCV代码

参考:http://download.csdn.net/detail/u011285477/9472067 #include #include #include #include ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenCV关于hog特征向量的个数
举报原因:
原因补充:

(最多只允许输入30个字)