资源简介
opencv2.4.11 实现帧差法,检测运动目标,也可使用电脑摄像头,检测运动目标。代码清晰易懂,直接运行。

代码片段和文件信息
#include
#include “cxcore.h“
#include
int main(int argcunsigned char* argv[])
{
//CvCapture* capture=cvCreateCameraCapture(0);
CvCapture* capture = cvCreateFileCapture(“out.avi“);
IplImage* frame1=NULL;
IplImage* frame2=NULL;
while(1)
{
frame1 = cvQueryframe(capture);
if(!frame1)
{
break;
}
IplImage* gray1 = cvCreateImage(cvGetSize(frame1) IPL_DEPTH_8U 1);
cvCvtColor(frame1gray1CV_BGR2GRAY);
frame2 = cvQueryframe(capture);
if(!frame2)
{
break;
}
IplImage* gray2 = cvCreateImage(cvGetSize(frame2) IPL_DEPTH_8U 1);
cvCvtColor(frame2gray2CV_BGR2GRAY);
IplImage* gray_diff = cvCreateImage(cvGetSize(gray2) IPL_DEPTH_8U 1);
cvAbsDiff(gray1gray2gray_diff);
//CvScalar t;
//for(int i=0;iheight;i++)
//{
// for(int j=0;jwidth;j++)
// {
// t=cvGet2D(gray_diffij);
// if(t.val[0]>30)
// t.val[0]=255;
// else
// t.val[0]=0;
// cvSet2D(gray_diffijt);
// }
//}
for ( int i = 0; i < gray_diff->height; ++i )
{
uchar * pucPixel = (uchar*)gray_diff->imageData + i*gray_diff->widthStep;
for ( int j = 0; j < gray_diff->width; ++j )
{
if(pucPixel[j]>35)
pucPixel[j]=255;
else
pucPixel[j]=0;
}
}
IplImage *gray_diff_erode = cvCreateImage(cvGetSize(gray_diff) 8 1);
IplImage *gray_diff_dilate = cvCreateImage(cvGetSize(gray_diff) 8 1);
cvDilate(gray_diffgray_diff_dilate NULL1); //膨胀
cvErode(gray_diff_dilategray_diff_erode NULL1); //腐蚀
cvNamedWindow(“avi“);
// cvNamedWindow(“act“);
cvNamedWindow(“222“);
/*显示视频帧*/
cvShowImage(“avi“frame1);
// cvShowImage(“222“gray_diff);
cvShowImage(“222“gray_diff_erode);
char c = cvWaitKey(60);
/*退出循环*/
if(c == 27)
{
break;
}
cvReleaseImage(&gray1);
cvReleaseImage(&gray2);
cvReleaseImage(&gray_diff);
cvReleaseImage(&gray_diff_erode);
cvReleaseImage(&gray_diff_dilate);
}
cvReleaseCapture(&capture);
/*注销窗口,释放图像副本*/
cvDestroyWindow(“avi“);
cvDestroyWindow(“act“);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3787776 2016-07-06 19:10 out.avi
文件 2253 2016-07-07 08:49 test4.cpp
----------- --------- ---------- ----- ----
3790029 2
- 上一篇:babelua for vs2019.vsix
- 下一篇:拼图小游戏原代码
相关资源
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 基于Opencv实现的图像纠偏
- ImageWatch2019.vsix
评论
共有 条评论