OpenCV前景检测代码
作者:cnfgg 日期:2009-07-02
具体代码如下:
复制内容到剪贴板
程序代码
程序代码 //转化成单通道图像再处理
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);
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);
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags:
相关日志: