Commit a5ef0d5e by 鲁志-悦动

鼠标左键点击入点位置获取跟踪框数据并且换算成需要发送给算法的格式

parent ca3e4c21

//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace XamlGeneratedNamespace {
/// <summary>
/// GeneratedInternalTypeHelper
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {
/// <summary>
/// CreateInstance
/// </summary>
protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) {
return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic)
| (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture);
}
/// <summary>
/// GetPropertyValue
/// </summary>
protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) {
return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// SetPropertyValue
/// </summary>
protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) {
propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// CreateDelegate
/// </summary>
protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) {
return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod
| (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] {
delegateType,
handler}, null)));
}
/// <summary>
/// AddEventHandler
/// </summary>
protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) {
eventInfo.AddEventHandler(target, handler);
}
}
}
......@@ -10,11 +10,11 @@ none
false
21870986562
2-725104376
31364711570
17-1683084370
3947974750
17-1462717611
Themes\Generic.xaml;Widgets\FootballFieldPanel\FootballFieldPanel.xaml;
False
True
......@@ -4,7 +4,10 @@ using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Shapes;
using VIZ.Framework.Common;
using VIZ.Framework.Core;
using VIZ.Framework.Domain;
using VIZ.Framework.Storage;
namespace VIZ.FGOUT.Module
{
......@@ -36,7 +39,7 @@ namespace VIZ.FGOUT.Module
public Rect rectReplay;
// public Rectangle rectInvalid;
public List<Rect> rectsReplay = new List<Rect>();
public TrackingBoxInfo saveInfo = new TrackingBoxInfo();
// public Path myPath = new Path();
// public Path myPath1 = new Path();
......@@ -300,8 +303,32 @@ namespace VIZ.FGOUT.Module
// }
//}
if (vm.IsReplay)
{
startPoint = e.GetPosition(this.canvas1);
//// 视频的宽度
//int resWith = ApplicationDomain.IniStorage.GetValue<VideoConfig, int>(p => p.VIDEO_WIDTH);
//double xp = this.video.ActualWidth / resWith;
//var x = startPoint.X / xp;
//最小距离
double minDistance = 10000;
saveInfo = new TrackingBoxInfo();
//当有跟踪狂的时候,就不用拖一个出来了
if (vm._cam3Infos.Count > 0)
{
foreach (var info in vm._cam3Infos)
{
var difference = (startPoint.X - info.SrcRect.Left) + (info.SrcRect.Right - startPoint.X);
if (difference < minDistance)
{
saveInfo = info;
minDistance = difference;
}
}
}
else
{
aa = new PathGeometry();
if (!rectsReplay.Contains(rectReplay))
{
......@@ -320,6 +347,7 @@ namespace VIZ.FGOUT.Module
}
}
}
}
/// <summary>
/// 鼠标左键按下
......
......@@ -134,7 +134,7 @@ namespace VIZ.FGOUT.Module
// 注册视频控件插件
//CAM_1、CAM_2都会调用这个方法,在CAM_1的时候注册一次就可以
if (view.NDIKey == NDIViewKeys.CAM_1)
if (view.NDIKey == NDIViewKeys.CAM_1 || view.NDIKey == NDIViewKeys.CAM_3)
{
// 跟踪框插件
TrackingBoxPlugin trackingBoxPlugin = new TrackingBoxPlugin(view.video);
......
......@@ -25,7 +25,7 @@ namespace VIZ.FGOUT.Module
private readonly TrackingBoxInfoBuffer _trackingBoxInfoBuffer =
new TrackingBoxInfoBuffer(TimeSpan.FromSeconds(10));
private List<TrackingBoxInfo> _cam3Infos = new List<TrackingBoxInfo>();
public List<TrackingBoxInfo> _cam3Infos = new List<TrackingBoxInfo>();
/// <summary>
/// 重置3D鼠标
......@@ -279,12 +279,15 @@ namespace VIZ.FGOUT.Module
try
{
var view3 = this.FindChild<NDIView>(Application.Current.MainWindow, NDIViewKeys.cam3);
if (view3 != null)
{
// 更新视频流
view3.video.UpdateVideoFrame(dsExtend, true);
// 更新视频控件跟踪框信息
if (_cam3Infos.Count > 0)
view3.video.UpdateTrackingBox(_cam3Infos);
}
}
catch (Exception ex)
{
log.Error(ex);
......
......@@ -2,7 +2,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Storage;
using VIZ.Framework.Common;
......
......@@ -260,13 +260,19 @@ namespace VIZ.FGOUT.Module
return;
}
List<List<List<int>>> inPoints = new List<List<List<int>>>();
if (_cam3Infos.Count > 0)
inPoints = CoordinateTrackingBoxInfo(nDIView.saveInfo.SrcRect, srcWidth, srcHeight);
else
inPoints = Coordinate(nDIView.rectsReplay, srcWidth, srcHeight);
var replayPackage = new ReplayPackage()
{
type = ClipPackageSignal.REPLAY,
start_time = StartTime,
end_time = EndTime,
status = ReplayStatus.Start,
inPoints = Coordinate(nDIView.rectsReplay, srcWidth, srcHeight)
inPoints = inPoints
};
managerAlgorithm.SendJson(replayPackage);
......@@ -781,6 +787,38 @@ namespace VIZ.FGOUT.Module
return listOuterMost;
}
private List<List<List<int>>> CoordinateTrackingBoxInfo(RawRectangleF rect, double srcWidth, double srcHeight)
{
// 视频的宽度
int resWith = ApplicationDomain.IniStorage.GetValue<VideoConfig, int>(p => p.VIDEO_WIDTH);
// 视频的高度
int resHeight = ApplicationDomain.IniStorage.GetValue<VideoConfig, int>(p => p.VIDEO_HEIGHT);
double xp = srcWidth / resWith;
double xy = srcHeight / resHeight;
var listOuterMost = new List<List<List<int>>>();
int dx = Convert.ToInt32(rect.Left / xp);
int dy = Convert.ToInt32(rect.Top / xy);
int width = Convert.ToInt32((rect.Right - rect.Left) / xp);
int height = Convert.ToInt32((rect.Bottom - rect.Top) / xy);
int x2 = dx + width;
int y2 = dy;
int x3 = dx + width;
int y3 = dy + height;
int x4 = dx;
int y4 = dy + height;
List<List<int>> coordinates = new List<List<int>>() { new List<int>() { dx, dy }, new List<int>() { x2, y2 }, new List<int>() { x3, y3 }, new List<int>() { x4, y4 } };
listOuterMost.Add(coordinates);
return listOuterMost;
}
/// <summary>
/// 保存位置命令
/// </summary>
......
This source diff could not be displayed because it is too large. You can view the blob instead.

\ No newline at end of file
2024-02-29 18:12:43,372 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:I
2024-02-29 18:12:44,249 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:O
2024-02-29 18:12:46,839 [1] INFO VIZ.Framework.Connection.UdpEndpointManagerExpand - 发送UDPJosn串:{"type":"REPLAY","start_time":0,"end_time":0,"status":1}
2024-02-29 18:12:46,840 [1] INFO VIZ.Framework.Connection.UdpEndpointManagerExpand - 发送UDPJosn串:{"type":"REPLAY","start_time":0,"end_time":0,"status":1}
2024-02-29 18:12:51,014 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:W
2024-02-29 18:12:52,440 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:12:56,459 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Down
2024-02-29 18:12:59,525 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:00,707 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:01,829 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:13:03,451 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Down
2024-02-29 18:13:04,134 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,590 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,657 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,715 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,719 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,746 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,808 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,867 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,870 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,871 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,897 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:04,997 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,001 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,001 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,029 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,090 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,150 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,153 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,215 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,219 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,277 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,281 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,340 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,345 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,406 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,467 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,471 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,471 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:05,947 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,440 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,501 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,574 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,579 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,646 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,649 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,649 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,710 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,715 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,715 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,746 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,804 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,869 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,927 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,933 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,933 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:06,960 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:07,018 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:07,084 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:07,143 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:07,148 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Left
2024-02-29 18:13:07,463 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:07,963 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,022 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,082 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,087 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,156 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,157 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,215 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,219 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,279 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,284 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,344 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,348 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:08,788 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Right
2024-02-29 18:13:10,284 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:13:11,580 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Down
2024-02-29 18:13:12,088 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:13:12,486 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Down
2024-02-29 18:13:12,783 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:13:13,073 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Down
2024-02-29 18:13:13,366 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:13:13,654 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Down
2024-02-29 18:13:13,968 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:13:14,217 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Down
2024-02-29 18:13:14,557 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:13:15,151 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Down
2024-02-29 18:13:15,554 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:13:16,237 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Down
2024-02-29 18:13:16,814 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Up
2024-02-29 18:13:20,576 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:W
2024-02-29 18:13:20,956 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:A
2024-02-29 18:30:14,592 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
......@@ -84,7 +84,7 @@ UDP_UESETTING_PORT=8888
;UDP算法端口
UDP_Algorithm_PORT=8001
;UDP音视频流IP, 如果该值不配置,那么会从流中获取
;UDP_Stream_IP=192.168.31.70
UDP_Stream_IP=192.168.31.83
; ============================================================
; === Algorithm ===
; ============================================================
......
......@@ -84,7 +84,7 @@ UDP_UESETTING_PORT=8888
;UDP算法端口
UDP_Algorithm_PORT=8001
;UDP音视频流IP, 如果该值不配置,那么会从流中获取
;UDP_Stream_IP=192.168.31.70
;UDP_Stream_IP=192.168.31.83
; ============================================================
; === Algorithm ===
; ============================================================
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment