LEADTOOLS教程:集成LEADTOOLS计算机视觉解决方案——多媒体和运动检测

LEADTOOLS Multimedia SDK是一款功能强大的音频处理 / 视频处理控件,可创建具有专业水准的高品质的多媒体应用程序。您可以使用LEADTOOLS Multimedia SDK创建具有专业水准的高品质的多媒体应用程序。

试用版

计算机视觉是人工智能的一个领域,可训练计算机解释和理解视觉世界。借助摄像机和视频中的数字图像以及深度学习模型,机器可以准确地识别和分类对象,然后对它们“看到”的内容做出反应。LEADTOOLS建立在将近30年的编程和已获专利的AI算法的基础之上,这些算法处理对图像和视频的理解。在将计算机视觉付诸实践时,我们已为您服务!

LEAD运动检测过滤器提供了一个用户界面,您可以将其添加到您的应用中,该界面用于更改过滤器的属性。它允许您更改灵敏度,调整对象大小等。

下载项目!

现在让我们看一下代码!

要查看完整的应用程序,请从上面提供的链接下载程序。下面显示的代码是有关初始化和使用LEADTOOLS回调过滤器以及运动检测过滤器的相关信息。

在项目中创建一个新类,并将其命名为MtnDtCallback。添加以下代码。

public class MtnDtCallback : ILMVMtnDetUserCallback{    public System.Windows.Forms.ListBox LstBx;    public MotionFrameClass mtnClass = new MotionFrameClass();    public int CrtFrame = 0;    public void MtnDtCallbackfnc()    {    }    ~MtnDtCallback()    {    }    public int CallbackProc(int lEvent, int pFrame, int lWidth, int lHeight, int lBitCount, int lSize, bool bTopDown)    {        if (lEvent == (int)LMVMtnDetLib.FrameTypeConstants.FRAME_TYPE_STARTMOTION)        {            mtnClass.Started = true;            mtnClass.StartFrame = CrtFrame;        }        if (lEvent == (int)LMVMtnDetLib.FrameTypeConstants.FRAME_TYPE_STARTSTILL)        {            if (mtnClass.Started)            {                mtnClass.EndFrame = CrtFrame - 1;                String x = mtnClass.StartFrame.ToString() + "-" + mtnClass.EndFrame.ToString();                LstBx.Items.Add(x);                mtnClass.Started = false;                mtnClass.StartFrame = 0;                mtnClass.EndFrame = 0;            }        }        CrtFrame = CrtFrame + 1;        return (int)MtnCalBkErrConstants.MTNCALBK_ERR_SUCCESS;    }    public class MotionFrameClass    {        public bool Started = false;        public Int64 StartFrame = 0;        public Int64 EndFrame = 0;    }}

现在,您将要创建一个新表单并将其命名为ConvertForm。在这里,您将找到启动运动检测的代码。

convertCtrl1.Preview = true;convertCtrl1.Progress += new Leadtools.Multimedia.ProgressEventHandler(convertCtrl1_Progress);convertCtrl1.SourceFile = SrcFile;convertCtrl1.TargetFormat = TargetFormatType.NULL;mtnCllbck = new MtnDtCallback();mtnCllbck.LstBx = LstBox;if ((convertCtrl1.AllowedStreams & StreamFormatType.Video) == StreamFormatType.Video){    Processor mtnDet = convertCtrl1.VideoProcessors.MotionDetection;    convertCtrl1.SelectedVideoProcessors.Add(mtnDet);    motion = convertCtrl1.GetSubObject(ConvertObject.SelVideoProcessor) as LMVMtnDetLib.ILMVMt    motion.CallbackObj = mtnCllbck;    motion.MinStillTime = 1000;    motion.Interval = 0;    motion.AutoStart = true;    motion.EnableRegion = false;}convertCtrl1.StartConvert();motion.StartDetection();

该项目将创建一个已处理的所有移动的列表。双击列表中的一个帧范围,然后将播放该范围的帧,以便您可以看到移动。

LEADTOOLS教程:集成LEADTOOLS计算机视觉解决方案——多媒体和运动检测

本教程内容就是这样了,感兴趣的朋友敬请期待后续内容~

相关内容推荐:

LEADTOOLS系列教程>>>


想要购买该产品正版授权,或了解更多产品信息请点击“咨询在线客服”

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年9月12日
下一篇 2019年9月12日

相关推荐

发表回复

登录后才能评论