• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: C/C++
  • 标签: OpenCv  背景差分  

资源简介

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

评论

共有 条评论