您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 实践5-视频运动目标检测:帧差法的实现
实践5视频运动目标检测:帧差法的实现实验任务:根据原理,获取并显示两幅图像的帧差灰度图和帧差二值图,如下图所示。实现的算法是:(1)分别读取两张图像;(2)将2张图像分别转换为灰度图,转换函数可用:cvCvtColor/cvtColor;(3)将2张灰度图相减(求差值),得到帧差灰度图,相减函数可用:cvAbsDiff/absdiff;(4)利用阈值操作,将帧差灰度图转化为帧差二值图,阈值操作函数可用:cvThreshold/threshold;(如果假设目标设定为白色,背景设定为黑色,则需要使用逻辑“非”操作进行颜色转换,可使用cvNot/bitwise_not函数);(5)显示图像。请将上述任务改成找茬游戏的自动找茬功能。请改为三帧差分,并上交源代码。函数解析:(1)cvCvtColor/cvtColorC:voidcvCvtColor(constCvArr*src,CvArr*dst,intcode);C++:voidcvtColor(InputArraysrc,OutputArraydst,intcode,intdstCn=0)src输入的8-bit,16-bit或32-bit单倍精度浮点数影像。dst输出的8-bit,16-bit或32-bit单倍精度浮点数影像。code色彩空间转换的模式,该code来实现不同类型的颜色空间转换。比如CV_BGR2GRAY表示转换为灰度图,CV_BGR2HSV将图片从RGB空间转换为HSV空间。常见的code模式有:CV_RGB2GRAY(彩色图像-灰度图像)CV_BGR2YCrCbCV_RGB2YCrCbCV_YCrCb2BGRCV_YCrCb2RGBCV_BGR2HSVCV_RGB2HSVCV_HSV2BGRCV_HSV2RGB(2)cvAbsDiff/absdiffOpenCV中计算两个数组差的绝对值的函数。voidcvAbsDiff(constCvArr*src1,constCvArr*src2,CvArr*dst);src1第一个原数组(第一张图像)src2第二个原数组(第二张图像)dst输出数组(输出的帧差图像)函数cvAbsDiff计算两个数组差的绝对值,其数学原理为:dst(I)c=abs(src1(I)c-src2(I)c).所有数组必须有相同的数据类型相同的大小(或ROI大小)。(3)cvThreshold/threshold作用:函数cvThreshold对单通道数组应用固定阈值操作。该函数的典型应用是对灰度图像进行阈值操作得到二值图像。voidcvThreshold(constCvArr*src,CvArr*dst,doublethreshold,doublemax_value,intthreshold_type);src:原始数组(单通道,8-bitof32-bit浮点数)。dst:输出数组,必须与src的类型一致,或者为8-bit。threshold:阈值max_value:使用CV_THRESH_BINARY和CV_THRESH_BINARY_INV的最大值。threshold_type:阈值类型threshold_type=CV_THRESH_BINARY:如果src(x,y)threshold,dst(x,y)=max_value;否则,des(x,y)=0;threshold_type=CV_THRESH_BINARY_INV:如果src(x,y)threshold,dst(x,y)=0;否则,dst(x,y)=max_value.本函数支持的对图像取阈值的方法由threshold_type确定:threshold_type=CV_THRESH_BINARY:dst(x,y)=max_value,ifsrc(x,y)threshold0,otherwise.threshold_type=CV_THRESH_BINARY_INV:dst(x,y)=0,ifsrc(x,y)threshold;dst(x,y)=max_value,otherwise.threshold_type=CV_THRESH_TRUNC:dst(x,y)=threshold,ifsrc(x,y)threshold;dst(x,y)=src(x,y),otherwise.threshold_type=CV_THRESH_TOZERO:dst(x,y)=src(x,y),if(x,y)threshold;dst(x,y)=0,otherwise.threshold_type=CV_THRESH_TOZERO_INV:dst(x,y)=0,ifsrc(x,y)threshold;dst(x,y)=src(x,y),otherwise.
本文标题:实践5-视频运动目标检测:帧差法的实现
链接地址:https://www.777doc.com/doc-3483004 .html