資源簡介
OpenCv 背景差分--將背景差分成功封裝成一個函數,借助高斯平滑等去噪
代碼片段和文件信息
/************************************************************************
Copyright?(C)?2014-2020.
File?name:???
Author:??????Greenapple
QQ:??????????361348440
EMail:???????361348440@qq.com
Version:?????V1.0
Date:????????2014/4/10
Description:?OpenCv背景差分
Others:??????無
Modification:
1.?2014/4/10:?第一次編寫完成。
************************************************************************/
#pragma?once?
#include?
#include?“cv.h“
#include?“highgui.h“
using?namespace?std;
using?namespace?cv;
IplImage*?pFrImg?=?NULL;??
IplImage*?pBkImg?=?NULL;??
CvMat*?pframeMat?=?NULL;??
CvMat*?pFrMat?=?NULL;??
CvMat*?pBkMat?=?NULL;??
IplImage*?BGDiff(IplImage*?pframeint?nframeNum)
//void?BGDiff(IplImage*?pframeIplImage*?pForeframeint?nframeNum)
{
//如果是第一幀,需要申請內存,并初始化
if?(nframeNum==1)
{
pBkImg?=?cvCreateImage(cvSize(pframe->width?pframe->height)IPL_DEPTH_8U1);??
pFrImg?=?cvCreateImage(cvSize(pframe->width?pframe->height)?IPL_DEPTH_8U1);??
pBkMat?=?cvCreateMat(pframe->height?pframe->width?CV_32FC1);??
pFrMat?=?cvCreateMat(pframe->height?pframe->width?CV_32FC1);??
pframeMat?=?cvCreateMat(pframe->height?pframe->width?CV_32FC1);??
//轉化成單通道圖像再處理??
cvCvtColor(pframe?pBkImg?CV_BGR2GRAY);??
cvCvtColor(pframe?pFrImg?CV_BGR2GRAY);??
cvConvert(pFrImg?pframeMat);??
cvConvert(pFrImg?pFrMat);??
cvConvert(pFrImg?pBkMat);??
}
else
{
cvCvtColor(pframe?pFrImg?CV_BGR2GRAY);??
cvConvert(pFrImg?pframeMat);??
//先做高斯濾波,以平滑圖像??
cvSmooth(p
- 上一篇:課程設計學生宿舍管理系統C++
- 下一篇:內存分配伙伴算法FFFWFB模擬
評論
共有 條評論