OpenCV前景检测代码

用OpenCV实现的图像前景检测代码的例子,需要的可以参考。其中pBkImgSrc为彩色背景图像,pFrameSrc为要提取前景的彩色图像,pFrImg为检测得到的前景二值图。

具体代码如下:
    //转化成单通道图像再处理
    cvCvtColor(pBkImgSrc, pBkImg, CV_BGR2GRAY);
    cvCvtColor(pFrameSrc, pFrame, CV_BGR2GRAY);

    cvConvert(pFrame, pFrameMat);
    cvConvert(pFrImg, pFrMat);
    cvConvert(pBkImg, pBkMat);

    //高斯滤波先,以平滑图像
    cvSmooth(pFrameMat, pFrameMat, CV_GAUSSIAN, 3, 0, 0);
    cvSmooth(pBkMat, pBkMat, CV_GAUSSIAN, 3, 0, 0);

    //当前帧跟背景图相减
    cvAbsDiff(pFrameMat, pBkMat, pFrMat);

    //二值化前景图
    cvThreshold(pFrMat, pFrImg, 40, 255.0, CV_THRESH_BINARY);

    //进行形态学滤波,去掉噪音  
    cvErode(pFrImg, pFrImg, 0, 1);
    cvDilate(pFrImg, pFrImg, 0, 1);

    cvDilate(pFrImg, pFrImg, 0, 5);
    cvErode(pFrImg, pFrImg, 0, 5);



[本日志由 cnfgg 于 2009-07-02 05:52 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: OpenCV 前景检测 代码
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.