OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 3259|回复: 4

利用LBP特征训练分类器源码计算特征问题

[复制链接]
发表于 2015-3-17 10:24:18 | 显示全部楼层 |阅读模式
LBP +Adaboost训练分类器中LBP特征的计算在lbpfeatures.cpp中,部分代码
void CvLBPEvaluator::generateFeatures()
{
    int offset = winSize.width + 1;
    for( int x = 0; x < winSize.width; x++ )
        for( int y = 0; y < winSize.height; y++ )
            for( int w = 1; w <= winSize.width / 3; w++ )
                for( int h = 1; h <= winSize.height / 3; h++ )
                    if ( (x+3*w <= winSize.width) && (y+3*h <= winSize.height) )//
                        features.push_back( Feature(offset, x, y, w, h ) );//
    numFeatures = (int)features.size();
}

CvLBPEvaluator::Feature::Feature( int offset, int x, int y, int _blockWidth, int _blockHeight )
{
    Rect tr = rect = cvRect(x, y, _blockWidth, _blockHeight);//
    CV_SUM_OFFSETS( p[0], p[1], p[4], p[5], tr, offset )//
    tr.x += 2*rect.width;
    CV_SUM_OFFSETS( p[2], p[3], p[6], p[7], tr, offset )
    tr.y +=2*rect.height;
    CV_SUM_OFFSETS( p[10], p[11], p[14], p[15], tr, offset )
    tr.x -= 2*rect.width;
    CV_SUM_OFFSETS( p[8], p[9], p[12], p[13], tr, offset )
}
可以看出opencv是使用的3X3 MN_LBP,但是它的每个小块大小是不是递增的,从1x1,2x2.......直到达到图片大小限制,我的理解是否正确?请各位指教。
回复

使用道具 举报

 楼主| 发表于 2015-3-17 21:03:02 | 显示全部楼层
没有考虑过这个问题吗
回复 支持 反对

使用道具 举报

发表于 2015-3-19 12:20:36 | 显示全部楼层
当初用LBP特征是看的OULU那个组在TPAMI04的一篇文章自己实现的,2d的LBP是恒定3*3大小的没错。

opencv的源码没看过,粗略看了下这个代码,它应该不是要把size扩充,而是做一个边界检查,这个边界就是你整个图像长和宽,你再看看是不是这个道理
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-19 15:47:57 | 显示全部楼层
20世纪少年 发表于 2015-3-19 12:20
当初用LBP特征是看的OULU那个组在TPAMI04的一篇文章自己实现的,2d的LBP是恒定3*3大小的没错。

opencv的源 ...

边界检查是没错,那是为了不超过图像大小,在一个点(x,y)下w,h是逐渐增加的(为了不超过图像大小,进行判断  if ( (x+3*w <= winSize.width) && (y+3*h <= winSize.height) )//), Feature(offset, x, y, w, h )就是计算特征了,点(x,y)是一个3x3块区域的左上角。
回复 支持 反对

使用道具 举报

发表于 2018-12-18 14:50:04 | 显示全部楼层
有特征点计算吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-3-29 18:15 , Processed in 0.026865 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表