跳远
This commit is contained in:
parent
1963f5d194
commit
c2729dfac0
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@ -52,7 +52,7 @@
|
|||||||
单人检测-高精度,3D结构
|
单人检测-高精度,3D结构
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="F:Yztob.AiSports.Inferences.Abstractions.HumanPredictorType.MultiFast">
|
<member name="F:Yztob.AiSports.Inferences.Abstractions.HumanPredictorType.MultiLow">
|
||||||
<summary>
|
<summary>
|
||||||
多人检测-低精度低速率,2D结构
|
多人检测-低精度低速率,2D结构
|
||||||
</summary>
|
</summary>
|
||||||
|
|||||||
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
<members>
|
<members>
|
||||||
<member name="T:Yztob.AiSports.Postures.Abstractions.ICalculator">
|
<member name="T:Yztob.AiSports.Postures.Abstractions.ICalculator">
|
||||||
<summary>
|
<summary>
|
||||||
人体姿态计算检测执行器
|
人体姿态检测规则执行计算器
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:Yztob.AiSports.Postures.Abstractions.ICalculator.PointThreshold">
|
<member name="P:Yztob.AiSports.Postures.Abstractions.ICalculator.PointThreshold">
|
||||||
@ -727,6 +727,17 @@
|
|||||||
一些扩展方法
|
一些扩展方法
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.Extensions.GravityLine(Yztob.AiSports.Inferences.Things.Human)">
|
||||||
|
<summary>
|
||||||
|
获取当前<seealso cref="T:Yztob.AiSports.Inferences.Things.Human"/>的人体重力线
|
||||||
|
</summary>
|
||||||
|
<param name="human">要计算的人体</param>
|
||||||
|
<returns>
|
||||||
|
返回重力线的上、下起点
|
||||||
|
[0]-为线的上端点
|
||||||
|
[1]-为线的下端点
|
||||||
|
</returns>
|
||||||
|
</member>
|
||||||
<member name="M:Yztob.AiSports.Postures.Extensions.AsPointF(Yztob.AiSports.Inferences.Things.Keypoint)">
|
<member name="M:Yztob.AiSports.Postures.Extensions.AsPointF(Yztob.AiSports.Inferences.Things.Keypoint)">
|
||||||
<summary>
|
<summary>
|
||||||
以<paramref name="keypoint"/>坐标值转换成<seealso cref="T:System.Drawing.PointF"/>
|
以<paramref name="keypoint"/>坐标值转换成<seealso cref="T:System.Drawing.PointF"/>
|
||||||
@ -734,6 +745,13 @@
|
|||||||
<param name="keypoint">要转换的关键点</param>
|
<param name="keypoint">要转换的关键点</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.Extensions.ToCenterPoint(System.Collections.Generic.IEnumerable{Yztob.AiSports.Inferences.Things.Keypoint})">
|
||||||
|
<summary>
|
||||||
|
获取当前关键点集中的中心点位置
|
||||||
|
</summary>
|
||||||
|
<param name="keypoints">关键点集</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:Yztob.AiSports.Postures.Implement.Calculator">
|
<member name="T:Yztob.AiSports.Postures.Implement.Calculator">
|
||||||
<summary>
|
<summary>
|
||||||
人体姿态计算检测执行器
|
人体姿态计算检测执行器
|
||||||
@ -1326,6 +1344,70 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:Yztob.AiSports.Postures.PostureUtility">
|
||||||
|
<summary>
|
||||||
|
姿态分析相关工具函数集
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.PostureUtility.GetBodyKeyNameMaps">
|
||||||
|
<summary>
|
||||||
|
获取身体关键点键-名映射字典
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.PostureUtility.GetCameraViewName(Yztob.AiSports.Postures.Things.CameraViews)">
|
||||||
|
<summary>
|
||||||
|
获取相机视角名称
|
||||||
|
</summary>
|
||||||
|
<param name="view">当前视角</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.PostureUtility.Angle(System.Nullable{System.Drawing.PointF},System.Nullable{System.Drawing.PointF},System.Nullable{System.Drawing.PointF})">
|
||||||
|
<summary>
|
||||||
|
计算平面三个点的角度
|
||||||
|
</summary>
|
||||||
|
<param name="center">角度点</param>
|
||||||
|
<param name="second">上角点</param>
|
||||||
|
<param name="third">下角点</param>
|
||||||
|
<returns>
|
||||||
|
-1至少一个有一个坐标点是空的;否则返回计算角度;
|
||||||
|
</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.PostureUtility.Angle(Yztob.AiSports.Inferences.Things.Keypoint,Yztob.AiSports.Inferences.Things.Keypoint,Yztob.AiSports.Inferences.Things.Keypoint)">
|
||||||
|
<summary>
|
||||||
|
计算三个人体关键点角度
|
||||||
|
</summary>
|
||||||
|
<param name="center">角度人体关键点</param>
|
||||||
|
<param name="second">上角人体关键点</param>
|
||||||
|
<param name="third">下角人体关键点</param>
|
||||||
|
<returns>
|
||||||
|
计算后的角度
|
||||||
|
</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.PostureUtility.AssertAngle(System.Single,System.Single,System.Single)">
|
||||||
|
<summary>
|
||||||
|
断言<paramref name="angle"/>是否有<paramref name="expect"/>匹配
|
||||||
|
</summary>
|
||||||
|
<param name="angle">实际测量的角度</param>
|
||||||
|
<param name="expect">期望的角度</param>
|
||||||
|
<param name="offset">允许的偏差</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.PostureUtility.IoU(Yztob.AiSports.Inferences.Things.BoundingBox,Yztob.AiSports.Inferences.Things.BoundingBox)">
|
||||||
|
<summary>
|
||||||
|
计算两个边界框的交并比
|
||||||
|
</summary>
|
||||||
|
<param name="box1">框1</param>
|
||||||
|
<param name="box2">框2</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.PostureUtility.CenterPoint(System.Collections.Generic.IEnumerable{Yztob.AiSports.Inferences.Things.Keypoint})">
|
||||||
|
<summary>
|
||||||
|
计算多个关键点之间的中心点位置
|
||||||
|
</summary>
|
||||||
|
<param name="keypoints">关键点集</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:Yztob.AiSports.Postures.Sports.CounterTicked">
|
<member name="T:Yztob.AiSports.Postures.Sports.CounterTicked">
|
||||||
<summary>
|
<summary>
|
||||||
运动计数器计数变化委托
|
运动计数器计数变化委托
|
||||||
@ -1752,6 +1834,9 @@
|
|||||||
获取或设置垫子长度,单位cm
|
获取或设置垫子长度,单位cm
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Postures.Sports.SportStandingLongJump.Pushing(Yztob.AiSports.Inferences.Things.Human)">
|
||||||
|
<inheritdoc />
|
||||||
|
</member>
|
||||||
<member name="M:Yztob.AiSports.Postures.Sports.SportStandingLongJump.Pushing(Yztob.AiSports.Inferences.Things.Human,System.Collections.Generic.IEnumerable{Yztob.AiSports.Inferences.Things.BoundingBox})">
|
<member name="M:Yztob.AiSports.Postures.Sports.SportStandingLongJump.Pushing(Yztob.AiSports.Inferences.Things.Human,System.Collections.Generic.IEnumerable{Yztob.AiSports.Inferences.Things.BoundingBox})">
|
||||||
<inheritdoc />
|
<inheritdoc />
|
||||||
</member>
|
</member>
|
||||||
@ -2335,63 +2420,6 @@
|
|||||||
<param name="trend">当前势</param>
|
<param name="trend">当前势</param>
|
||||||
<param name="isChanged">趋势是否变化</param>
|
<param name="isChanged">趋势是否变化</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:Yztob.AiSports.Postures.Utility">
|
|
||||||
<summary>
|
|
||||||
姿态分析相关工具函数集
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:Yztob.AiSports.Postures.Utility.GetBodyKeyNameMaps">
|
|
||||||
<summary>
|
|
||||||
获取身体关键点键-名映射字典
|
|
||||||
</summary>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:Yztob.AiSports.Postures.Utility.GetCameraViewName(Yztob.AiSports.Postures.Things.CameraViews)">
|
|
||||||
<summary>
|
|
||||||
获取相机视角名称
|
|
||||||
</summary>
|
|
||||||
<param name="view">当前视角</param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:Yztob.AiSports.Postures.Utility.Angle(System.Nullable{System.Drawing.PointF},System.Nullable{System.Drawing.PointF},System.Nullable{System.Drawing.PointF})">
|
|
||||||
<summary>
|
|
||||||
计算平面三个点的角度
|
|
||||||
</summary>
|
|
||||||
<param name="center">角度点</param>
|
|
||||||
<param name="second">上角点</param>
|
|
||||||
<param name="third">下角点</param>
|
|
||||||
<returns>
|
|
||||||
-1至少一个有一个坐标点是空的;否则返回计算角度;
|
|
||||||
</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:Yztob.AiSports.Postures.Utility.Angle(Yztob.AiSports.Inferences.Things.Keypoint,Yztob.AiSports.Inferences.Things.Keypoint,Yztob.AiSports.Inferences.Things.Keypoint)">
|
|
||||||
<summary>
|
|
||||||
计算三个人体关键点角度
|
|
||||||
</summary>
|
|
||||||
<param name="center">角度人体关键点</param>
|
|
||||||
<param name="second">上角人体关键点</param>
|
|
||||||
<param name="third">下角人体关键点</param>
|
|
||||||
<returns>
|
|
||||||
计算后的角度
|
|
||||||
</returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:Yztob.AiSports.Postures.Utility.AssertAngle(System.Single,System.Single,System.Single)">
|
|
||||||
<summary>
|
|
||||||
断言<paramref name="angle"/>是否有<paramref name="expect"/>匹配
|
|
||||||
</summary>
|
|
||||||
<param name="angle">实际测量的角度</param>
|
|
||||||
<param name="expect">期望的角度</param>
|
|
||||||
<param name="offset">允许的偏差</param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:Yztob.AiSports.Postures.Utility.IoU(Yztob.AiSports.Inferences.Things.BoundingBox,Yztob.AiSports.Inferences.Things.BoundingBox)">
|
|
||||||
<summary>
|
|
||||||
计算两个边界框的交并比
|
|
||||||
</summary>
|
|
||||||
<param name="box1">框1</param>
|
|
||||||
<param name="box2">框2</param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="T:Yztob.AiSports.Common.Licenses.FeatureCpuPartMap">
|
<member name="T:Yztob.AiSports.Common.Licenses.FeatureCpuPartMap">
|
||||||
<summary>
|
<summary>
|
||||||
表示受权机器CPU部件特性图
|
表示受权机器CPU部件特性图
|
||||||
|
|||||||
Binary file not shown.
@ -55,6 +55,11 @@
|
|||||||
获取或设置自应用大小,保持同比缩放
|
获取或设置自应用大小,保持同比缩放
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:Yztob.AiSports.Sensors.WinForm.RTSPPreview.NumberDisplayed">
|
||||||
|
<summary>
|
||||||
|
获取或设置是否展示帧序号、帧率
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:Yztob.AiSports.Sensors.WinForm.RTSPPreview.IsPlaying">
|
<member name="P:Yztob.AiSports.Sensors.WinForm.RTSPPreview.IsPlaying">
|
||||||
<summary>
|
<summary>
|
||||||
获取当前是否正在播放
|
获取当前是否正在播放
|
||||||
@ -75,9 +80,14 @@
|
|||||||
获取当画面缩放后X轴的偏移量,即黑边大小
|
获取当画面缩放后X轴的偏移量,即黑边大小
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:Yztob.AiSports.Sensors.WinForm.RTSPPreview.Fps">
|
||||||
|
<summary>
|
||||||
|
获取或设置视频流拉取帧率
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:Yztob.AiSports.Sensors.WinForm.RTSPPreview.OnExtracted">
|
<member name="P:Yztob.AiSports.Sensors.WinForm.RTSPPreview.OnExtracted">
|
||||||
<summary>
|
<summary>
|
||||||
获取或设置抽帧响应
|
获取或设置抽帧响应,处理的是未解析的原始帧
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:Yztob.AiSports.Sensors.WinForm.RTSPPreview.OnFrameProcessing">
|
<member name="P:Yztob.AiSports.Sensors.WinForm.RTSPPreview.OnFrameProcessing">
|
||||||
@ -101,6 +111,12 @@
|
|||||||
<member name="M:Yztob.AiSports.Sensors.WinForm.RTSPPreview.Dispose">
|
<member name="M:Yztob.AiSports.Sensors.WinForm.RTSPPreview.Dispose">
|
||||||
<inheritdoc />
|
<inheritdoc />
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Sensors.WinForm.RTSPPreview.Pushing(Yztob.AiSports.Sensors.Things.VideoFrameWithBuffer)">
|
||||||
|
<summary>
|
||||||
|
直接向预览器推送帧,进行预览回放
|
||||||
|
</summary>
|
||||||
|
<param name="frame">帧图像</param>
|
||||||
|
</member>
|
||||||
<member name="M:Yztob.AiSports.Sensors.WinForm.RTSPPreview.Play">
|
<member name="M:Yztob.AiSports.Sensors.WinForm.RTSPPreview.Play">
|
||||||
<summary>
|
<summary>
|
||||||
启动抽帧/预览
|
启动抽帧/预览
|
||||||
|
|||||||
Binary file not shown.
@ -218,12 +218,13 @@
|
|||||||
视频流解码器
|
视频流解码器
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:Yztob.AiSports.Sensors.Implement.VideoStreamDecoder.#ctor(System.String,FFmpeg.AutoGen.Abstractions.AVHWDeviceType)">
|
<member name="M:Yztob.AiSports.Sensors.Implement.VideoStreamDecoder.#ctor(System.String,FFmpeg.AutoGen.Abstractions.AVHWDeviceType,System.Int32)">
|
||||||
<summary>
|
<summary>
|
||||||
初始化解码器
|
初始化解码器
|
||||||
</summary>
|
</summary>
|
||||||
<param name="url">设备访问url</param>
|
<param name="url">设备访问url</param>
|
||||||
<param name="HWDeviceType">硬件设备类型</param>
|
<param name="HWDeviceType">硬件设备类型</param>
|
||||||
|
<param name="timeout">视频连接超时是间</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:Yztob.AiSports.Sensors.Implement.VideoStreamDecoder.CodecName">
|
<member name="P:Yztob.AiSports.Sensors.Implement.VideoStreamDecoder.CodecName">
|
||||||
<summary>
|
<summary>
|
||||||
@ -307,11 +308,29 @@
|
|||||||
获取FFmpeg原始帧
|
获取FFmpeg原始帧
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:Yztob.AiSports.Sensors.Things.VideoFrame.PresentTimestamp">
|
||||||
|
<summary>
|
||||||
|
获取或设置帧相对流开始的展示时间戳,单位:秒
|
||||||
|
</summary>
|
||||||
|
<remarks>通俗的理解便是,此帧在视频的第几秒出现的</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yztob.AiSports.Sensors.Things.VideoFrame.PreserveDuration">
|
||||||
|
<summary>
|
||||||
|
获取或设置上一帧距离这帧维持的时长
|
||||||
|
</summary>
|
||||||
|
<remarks>即用当帧的<see cref="P:Yztob.AiSports.Sensors.Things.VideoFrame.PresentTimestamp"/>减去上一帧的<see cref="P:Yztob.AiSports.Sensors.Things.VideoFrame.PresentTimestamp"/></remarks>
|
||||||
|
</member>
|
||||||
<member name="P:Yztob.AiSports.Sensors.Things.VideoFrame.Timestamp">
|
<member name="P:Yztob.AiSports.Sensors.Things.VideoFrame.Timestamp">
|
||||||
<summary>
|
<summary>
|
||||||
获取或设置时间戳,从UTC:2000-01-01开始的耗秒数
|
获取或设置帧提取时的系统时间戳,从UTC:2000-01-01开始的耗秒数
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Yztob.AiSports.Sensors.Things.VideoFrame.GetTimestamp">
|
||||||
|
<summary>
|
||||||
|
获取当前时间戳
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:Yztob.AiSports.Sensors.Things.VideoFrame.GetImageBuffer(Yztob.AiSports.Sensors.Things.ImageFormat)">
|
<member name="M:Yztob.AiSports.Sensors.Things.VideoFrame.GetImageBuffer(Yztob.AiSports.Sensors.Things.ImageFormat)">
|
||||||
<summary>
|
<summary>
|
||||||
将当前帧转换成指定格式图像,并返回图像缓冲区数组
|
将当前帧转换成指定格式图像,并返回图像缓冲区数组
|
||||||
@ -359,6 +378,18 @@
|
|||||||
获取FFmpeg原始帧
|
获取FFmpeg原始帧
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:Yztob.AiSports.Sensors.Things.VideoFrameWithBuffer.PresentTimestamp">
|
||||||
|
<summary>
|
||||||
|
获取或设置帧相对流开始的展示时间戳,单位:秒
|
||||||
|
</summary>
|
||||||
|
<remarks>通俗的理解便是,此帧在视频的第几秒出现的</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yztob.AiSports.Sensors.Things.VideoFrameWithBuffer.PreserveDuration">
|
||||||
|
<summary>
|
||||||
|
获取或设置上一帧距离这帧维持的时长
|
||||||
|
</summary>
|
||||||
|
<remarks>即用当帧的<see cref="P:Yztob.AiSports.Sensors.Things.VideoFrameWithBuffer.PresentTimestamp"/>减去上一帧的<see cref="P:Yztob.AiSports.Sensors.Things.VideoFrameWithBuffer.PresentTimestamp"/></remarks>
|
||||||
|
</member>
|
||||||
<member name="P:Yztob.AiSports.Sensors.Things.VideoFrameWithBuffer.Timestamp">
|
<member name="P:Yztob.AiSports.Sensors.Things.VideoFrameWithBuffer.Timestamp">
|
||||||
<summary>
|
<summary>
|
||||||
获取或设置时间戳,从UTC:2000-01-01开始的耗秒数
|
获取或设置时间戳,从UTC:2000-01-01开始的耗秒数
|
||||||
|
|||||||
2
src/YD_AiSportsMicrospace/FrmMain.Designer.cs
generated
2
src/YD_AiSportsMicrospace/FrmMain.Designer.cs
generated
@ -172,7 +172,7 @@
|
|||||||
host.Name = "host";
|
host.Name = "host";
|
||||||
host.Size = new Size(236, 23);
|
host.Size = new Size(236, 23);
|
||||||
host.TabIndex = 1;
|
host.TabIndex = 1;
|
||||||
host.Text = "192.168.3.64";
|
host.Text = "172.17.30.64";
|
||||||
//
|
//
|
||||||
// label2
|
// label2
|
||||||
//
|
//
|
||||||
|
|||||||
@ -1,21 +1,20 @@
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
using System.Net;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
using System.Net.NetworkInformation;
|
using System.Net.NetworkInformation;
|
||||||
|
|
||||||
using Yunzhi.Common;
|
using Yunzhi.Common;
|
||||||
using Yunzhi.Logging;
|
using Yunzhi.Logging;
|
||||||
|
using Yztob.AiSports.Demo.WinForm.Common;
|
||||||
using Yztob.AiSports.Inferences.Abstractions;
|
using Yztob.AiSports.Inferences.Abstractions;
|
||||||
|
using Yztob.AiSports.Inferences.Implement;
|
||||||
using Yztob.AiSports.Inferences.Things;
|
using Yztob.AiSports.Inferences.Things;
|
||||||
using Yztob.AiSports.Postures.Abstractions;
|
using Yztob.AiSports.Postures.Abstractions;
|
||||||
using Yztob.AiSports.Postures.Sports;
|
using Yztob.AiSports.Postures.Sports;
|
||||||
using Yztob.AiSports.Postures.Things;
|
using Yztob.AiSports.Postures.Things;
|
||||||
using Yztob.AiSports.Sensors.Abstractions;
|
using Yztob.AiSports.Sensors.Abstractions;
|
||||||
using Yztob.AiSports.Sensors.Things;
|
using Yztob.AiSports.Sensors.Things;
|
||||||
using Yztob.AiSports.Demo.WinForm.Common;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 预览主窗体
|
* 预览主窗体
|
||||||
@ -38,6 +37,7 @@ public partial class FrmMain : Form
|
|||||||
private readonly List<SportDescriptor> _sports;
|
private readonly List<SportDescriptor> _sports;
|
||||||
private SportBase _sport;
|
private SportBase _sport;
|
||||||
private readonly SportDetectionQueue _detectQueue;
|
private readonly SportDetectionQueue _detectQueue;
|
||||||
|
private ApparatusLongJumpDelineation _measureApparatus;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 构造方法
|
#region 构造方法
|
||||||
@ -74,8 +74,8 @@ public partial class FrmMain : Form
|
|||||||
this.sportTimes.Text = _sport.GetFormatTimes();//ts.ToString(@"mm\'ss\""");
|
this.sportTimes.Text = _sport.GetFormatTimes();//ts.ToString(@"mm\'ss\""");
|
||||||
|
|
||||||
//触发停止
|
//触发停止
|
||||||
//if (!this._sport.IsCounting)
|
if (!this._sport.IsCounting)
|
||||||
// this.startOrStop_Click(null, null);
|
this.startOrStop_Click(null, null);
|
||||||
});
|
});
|
||||||
//VoiceBroadcast.PlayTick();
|
//VoiceBroadcast.PlayTick();
|
||||||
}
|
}
|
||||||
@ -87,6 +87,12 @@ public partial class FrmMain : Form
|
|||||||
if (_sport?.IsCounting == true)
|
if (_sport?.IsCounting == true)
|
||||||
sport.Start();
|
sport.Start();
|
||||||
|
|
||||||
|
_measureApparatus = new ApparatusLongJumpDelineation();
|
||||||
|
_measureApparatus.MeasureLength = 300;
|
||||||
|
var _isCalibrated = this.ReactangleCalibrating(1920, 1080);
|
||||||
|
|
||||||
|
sport.MeasureApparatus = _measureApparatus;
|
||||||
|
|
||||||
_sport?.Stop();
|
_sport?.Stop();
|
||||||
_detectQueue.Stop();
|
_detectQueue.Stop();
|
||||||
_sport = sport;
|
_sport = sport;
|
||||||
@ -127,8 +133,61 @@ public partial class FrmMain : Form
|
|||||||
Debug.WriteLine(ex.ToString());
|
Debug.WriteLine(ex.ToString());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool ReactangleCalibrating(int frameWidth, int frameHeight)
|
||||||
|
{
|
||||||
|
var boxes = new List<BoundingBox>()
|
||||||
|
{
|
||||||
|
new BoundingBox(){
|
||||||
|
ImageWidth = frameWidth,
|
||||||
|
ImageHeight = frameHeight,
|
||||||
|
Label = new PredictionLabel(){
|
||||||
|
Key = "begin"
|
||||||
|
},
|
||||||
|
MaskLayer = new MaskLayer(){
|
||||||
|
Contours = new List<SixLabors.ImageSharp.PointF>(){
|
||||||
|
new SixLabors.ImageSharp.PointF(1722, 909),
|
||||||
|
new SixLabors.ImageSharp.PointF(1689, 724),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new BoundingBox(){
|
||||||
|
ImageWidth = frameWidth,
|
||||||
|
ImageHeight = frameHeight,
|
||||||
|
Label = new PredictionLabel{
|
||||||
|
Key = "end"
|
||||||
|
},
|
||||||
|
MaskLayer = new MaskLayer(){
|
||||||
|
Contours = new List<SixLabors.ImageSharp.PointF>(){
|
||||||
|
new SixLabors.ImageSharp.PointF(1516, 918),
|
||||||
|
new SixLabors.ImageSharp.PointF(1498, 730)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
boxes[1].Label.Key = "take-off";
|
||||||
|
boxes.Add(new BoundingBox()
|
||||||
|
{
|
||||||
|
ImageWidth = frameWidth,
|
||||||
|
ImageHeight = frameHeight,
|
||||||
|
Label = new PredictionLabel
|
||||||
|
{
|
||||||
|
Key = "end"
|
||||||
|
},
|
||||||
|
MaskLayer = new MaskLayer()
|
||||||
|
{
|
||||||
|
Contours = new List<SixLabors.ImageSharp.PointF>(){
|
||||||
|
new SixLabors.ImageSharp.PointF(191, 918),
|
||||||
|
new SixLabors.ImageSharp.PointF(245, 741)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return _measureApparatus.Calibrating(boxes);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 事件处理程序
|
#region 事件处理程序
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user