zoukankan
html css js c++ java
分割移动微小物体
思路:
1. 前后两帧相减,得到差分图像
2.在差分图像里求像素最大的点(最亮的点)
这样就得到,移动微小物体
#include
"
check.h
"
#include
<
iostream.h
>
void
main()
{
DWORD t1,t2;
IplImage
*
frame
=
0
;
CvCapture
*
capture
=
cvCaptureFromAVI(
"
E:\\跟踪\\有源窄滤波片2m30fps_2.avi
"
);
CCheck check;
cvNamedWindow(
"
目标跟踪
"
,
1
);
//
创建窗口
frame
=
cvQueryFrame(capture);
check.Init(frame);
while
(
1
)
{
frame
=
cvQueryFrame(capture);
if
(
!
frame)
{
break
;
}
t1
=
::GetTickCount();
CvPoint point
=
check.point(frame);
IplImage
*
show
=
cvCloneImage( frame );
cvCircle(show, point,
10
, cvScalar(
0
,
255
,
0
),
2
);
cvShowImage(
"
目标跟踪
"
,show);
cvReleaseImage(
&
show );
cvWaitKey(
1
);
t2
=
::GetTickCount();
cout
<<
t2
-
t1
<<
endl;
}
cvReleaseCapture(
&
capture);
cvDestroyWindow(
"
目标跟踪
"
);
}
#ifndef CHECK_H
#define
CHECK_H
#include
"
cv.h
"
#include
"
highgui.h
"
#include
"
cvcam.h
"
#include
"
check.h
"
#define
_I8(image,x,y) (*((unsigned char*)(image)->imageData+(image)->widthStep*(y)+(x)))
//
直接调用图像的像素,x、y为整数(图像数据应为32F)
#define
_I32(img,x,y) ((float*)((img)->imageData + (img)->widthStep*(y)))[(x)]
class
CCheck
{
private
:
int
px,py;
int
width,height;
IplImage
*
frame1;
//
当前帧
IplImage
*
frame2;
//
前一帧
public
:
CCheck();
~
CCheck();
void
Init(IplImage
*
img);
CvPoint point(IplImage
*
img);
}
;
#endif
#include
"
check.h
"
#include
<
iostream.h
>
void
main()
{
DWORD t1,t2;
IplImage
*
frame
=
0
;
CvCapture
*
capture
=
cvCaptureFromAVI(
"
E:\\跟踪\\有源窄滤波片2m30fps_2.avi
"
);
CCheck check;
cvNamedWindow(
"
目标跟踪
"
,
1
);
//
创建窗口
frame
=
cvQueryFrame(capture);
check.Init(frame);
while
(
1
)
{
frame
=
cvQueryFrame(capture);
if
(
!
frame)
{
break
;
}
t1
=
::GetTickCount();
CvPoint point
=
check.point(frame);
IplImage
*
show
=
cvCloneImage( frame );
cvCircle(show, point,
10
, cvScalar(
0
,
255
,
0
),
2
);
cvShowImage(
"
目标跟踪
"
,show);
cvReleaseImage(
&
show );
cvWaitKey(
1
);
t2
=
::GetTickCount();
cout
<<
t2
-
t1
<<
endl;
}
cvReleaseCapture(
&
capture);
cvDestroyWindow(
"
目标跟踪
"
);
}
查看全文
相关阅读:
阿里云API网关(1)服务网关的产品概述
Spring Security 入门(1-1)Spring Security是什么?
Spring Security入门(2-1)Spring Security
gradle入门(1-5)创建并运行Web应用
gradle入门(1-4)多项目构建实战
gradle入门(1-3)使用gradle开发一个发布版本
gradle入门(1-2)gradle的依赖管理
gradle入门(1-1)gradle的概念和使用
BZOJ1925: [Sdoi2010]地精部落(dp)
BZOJ1812: [Ioi2005]riv(树形dp)
原文地址:https://www.cnblogs.com/wqj1212/p/1009689.html
最新文章
Android-一只手指滑动View,另一只手指按Home键,重新进入后View状态无法更新的问题
SourceInsight-显示文件完整路径
JNI-获取Java对象的成员变量-GeInttField()
SourceInsight-查看java中接口对应的实现类
JNI中GetStringChars函数中的isCopy
Git: Git的4个阶段的撤销更改
清理parallels desktop 卸载后的图标残留
matlab进阶
深度学习常见算法之训练自己的数据
couldn't open file: data/coco.names
热门文章
end2end learning 端到端学习
VOC2007检测任务的评估标准
py-faster-rcnn +cudnn V5
inference和learning
下载imagenet2012数据集,以及label说明
epoch和Iteration
vmware安装ubuntu卡在install vm-tools
Spring Security入门(3-5)Spring Security 的鉴权
Spring Security入门(3-3)Spring Security 手工配置并注入 authenticationProvider 和 异常信息传递
Spring Security入门(3-2)Spring Security对接用户的权限系统
Copyright © 2011-2022 走看看