加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
向小俊同志学习,发一个基于Mean Shift的运动物体跟踪
93°2010/06/18软件综合 IP:广东
当然没有小俊同志高深 。。。 = =

Mean Shift,业内人士称为Mean Sh!t,比较慢,剧烈运动的物体跟踪效果较差 好像是废话 = =

PDF截图两张 敏感部位

viewer1.png   

viewer.png

“敏感部位”代码

[size=3]int MeanShift::CalcHisSp(unsigned char* frame, float* histogram){
    int pxValue = 0;

    for(int i = 0 ; i < HISLENGTH; i++)
        histogram[i] = 0;

        for(int j = max(0,cY - trackWinHeight / 2);j < min(cY + trackWinHeight / 2,imgH - 1); j ++){
            for(int i = max(0,cX - TrackwWidth/ 2); i < min(cX + TrackwWidth/ 2,imgW - 1);i ++){
                pixel r = frame[j * imgW * 3 + i * 3] / 16;
                pixel g = frame[j * imgW * 3 + i * 3 + 1] / 16;
                pixel b = frame[j * imgW * 3 + i * 3 + 2] / 16;

                histogram[256 * (int)r + 16 * (int)g + (int)b] += 1;
                pxValue ++;

            }

        }

        for(int i = 0; i < HISLENGTH; i ++)
            histogram[i] /= pxValue;
    else
    {
        return 0;
    }
    return pxValue;
}


void MeanShift::MSPSp(unsigned char * frame){
    float weights[HISLENGTH];

    float newX = 0.0;
    float newY = 0.0;

    for (int i=0;i<HISLENGTH;i++)
    {
        if (currHistogram[i] >0.0 )
            weights[i] = (float)tempHistogram[i]/(float)currHistogram[i];

        else
            weights[i] = 0;
    }

    float sumOfWeights = 0.0;

        for(int j = max(0,cY - trackWinHeight / 2);j < min(cY + trackWinHeight / 2,imgH - 1); j ++){
            for(int i = max(0,cX - TrackwWidth/ 2); i < min(cX + TrackwWidth/ 2,imgW - 1);i ++){
            pixel r = frame[j * imgW * 3 + i * 3] / 16;
            pixel g = frame[j * imgW * 3 + i * 3 + 1] / 16;
            pixel b = frame[j * imgW * 3 + i * 3 + 2] / 16;

            int ptr = (int)(256 * (int)r + 16 * (int)g + (int)b);

            newX += (weights[ptr] * (float)i);
            newY += (weights[ptr] * (float)j);

            sumOfWeights += weights[ptr];


        }

    }
    if(sumOfWeights != 0){
        cX = int((newX/sumOfWeights) + 0.5);
        cY = int((newY/sumOfWeights) + 0.5);
    }
    return;

}


void MeanShift::MSTP(unsigned char*  frame,int frameNumber)
{
    if(frameNumber == 0){

        CalcHisSp(frame ,this->tempHistogram);
    }
    else
    {
        int stopThreshold = 10;
        int iteratorCoumt = 0;
        while(iteratorCoumt < stopThreshold){

            CalcHisSp(frame ,this->currHistogram);
            MSPSp(frame);

            iteratorCoumt++;
        }
        
    }
}
[/size]

misuzu什么的最喜欢了

11.jpg


attachment icon YDD_CVPR_05.pdf 571.13KB PDF 71次下载 预览
+794  科创币    phpskycn    2010/06/18 &nbsp;
+800  科创币    小俊    2010/06/18 厉害厉害!佩服佩服!
来自:计算机科学 / 软件综合
15
新版本公告
~~空空如也
93° 作者
14年11个月前 IP:未同步
225751
https://www.kechuang.org/t/24617

用的就是Mean Sh!t,加上目标检测算法。。。啥算法来着 忘了 = =
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
14年11个月前 IP:未同步
225753
附件丢失导致理解不能
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
startwood
14年11个月前 IP:未同步
225754
很遗憾PDF是英文的……
话说今天贴数居然能破60
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
我说要有光
14年11个月前 IP:未同步
225851
仔细看了遍pdf  似乎一知半解 又似乎什么都没懂。。。

大概还是后者的概率大些吧 =.=
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ltl
14年11个月前 IP:未同步
225886
代码不大美……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°作者
14年11个月前 IP:未同步
225898
引用第5楼ltl于2010-06-19 10:26发表的  :
代码不大美……

敢吐点有意义的槽么= =
晒下限自重
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
csakura
14年10个月前 IP:未同步
228511
IEEE上DOWN的论文?那上面的论文不是一般的贵~~不过非常值的。。含金量非常高。。
CODEPROJECT上也有对象跟踪的文章。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
lovehongkong
14年10个月前 IP:未同步
231598
鹰文不好
怎么IEEE那玩意上下载论文要钱么?他们发表论文的时候不是发到期刊上的么?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
startwood
14年10个月前 IP:未同步
231878
引用第8楼lovehongkong于2010-07-04 13:42发表的  :
鹰文不好
怎么IEEE那玩意上下载论文要钱么?他们发表论文的时候不是发到期刊上的么?

期刊也是要钱的。其实有某些帐号就free了,就是不要写个程序自动狂下就行了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
joyeep
14年10个月前 IP:未同步
231947
算法的代码通常是比较晦涩的,看不舒服很正常

非常鼓励发表算法的文章,特别是趣味算法。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
startwood
14年10个月前 IP:未同步
232164
我记得用这个在E6300配2GB双通道内存的机器上还不能做到实时。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
t-600
14年6个月前 IP:未同步
265419
在下也想學習一下93大大有什麼資料可以讓我們學習一下?
+1
科创币
jrcsh
2012-04-25
喵。。。。。。。。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
drc
13年0个月前 IP:未同步
390464
努力学,希望早点弄明白
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fzbyron
10年6个月前 IP:福建
727301
努力学,希望早点弄明白
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
93°
学者 笔友
文章
651
回复
6032
学术分
30
2007/04/10注册,7年3个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的