Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.H2V
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘龙飞
VIZ.H2V
Commits
d24d5195
Commit
d24d5195
authored
Sep 05, 2022
by
liulongfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 添加手动校准功能
parent
cfe6e1e6
Hide whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
653 additions
and
63 deletions
+653
-63
VIZ.H2V.Common/Widgets/FootballFieldPanel/FootballFieldPanel.xaml
+2
-3
VIZ.H2V.Connection/UDP/Algorithm/Enum/AlgorithmAutoModeCmd.cs
+10
-0
VIZ.H2V.Connection/UDP/Algorithm/Provider/AlgorithmProvider__crop_roi..cs
+1
-0
VIZ.H2V.Connection/UDP/Algorithm/Sender/AlgorithmSenderOption.cs
+2
-2
VIZ.H2V.Connection/UDP/Algorithm/Signal/Recv/AlgorithmRecvPackage__crop_roi.cs
+5
-0
VIZ.H2V.Connection/UDP/Algorithm/Signal/Send/AlgorithmPackage__auto_mode_Cableway.cs
+5
-0
VIZ.H2V.Connection/UDP/Algorithm/Signal/Send/AlgorithmPackage__auto_mode_Near.cs
+5
-0
VIZ.H2V.Connection/UDP/Algorithm/Signal/Send/AlgorithmPackage__auto_mode_Sixteen.cs
+5
-0
VIZ.H2V.Connection/UDP/Algorithm/Signal/Send/AlgorithmPackage__auto_mode_Tactics.cs
+5
-0
VIZ.H2V.Domain/Message/Algorithm/AlgorithmMessage__crop_roi.cs
+5
-0
VIZ.H2V.Module.Resource/Converter/AlgorithmStrategyType2FootballFieldHeightConverter.cs
+74
-0
VIZ.H2V.Module.Resource/Converter/NDIViewProperty2VisibilityConverter.cs
+6
-4
VIZ.H2V.Module.Resource/Style/RadioButton/RadioButton_NdiView.xaml
+37
-0
VIZ.H2V.Module.Resource/VIZ.H2V.Module.Resource.csproj
+1
-0
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmCablewayPanelView.xaml
+13
-1
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmNearPanelView.xaml
+11
-0
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmSixteenPanelView.xaml
+12
-0
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmTacticsPanelView.xaml
+12
-0
VIZ.H2V.Module/NDISettingView/ViewModel/Algorithm/AlgorithmCablewayPanelViewModel.cs
+19
-0
VIZ.H2V.Module/NDISettingView/ViewModel/Algorithm/AlgorithmNearPanelViewModel.cs
+19
-0
VIZ.H2V.Module/NDISettingView/ViewModel/Algorithm/AlgorithmSixteenPanelViewModel.cs
+19
-0
VIZ.H2V.Module/NDISettingView/ViewModel/Algorithm/AlgorithmTacticsPanelViewModel.cs
+19
-0
VIZ.H2V.Module/NDIView/Controller/Algorithm/AlgorithmControllerBase.cs
+6
-0
VIZ.H2V.Module/NDIView/Controller/Algorithm/IAlgorithmController.cs
+6
-0
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Cableway.cs
+26
-4
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Near.cs
+27
-6
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Single.cs
+9
-0
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Sixteen.cs
+27
-6
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Tactics.cs
+27
-6
VIZ.H2V.Module/NDIView/View/NDIView.xaml
+52
-13
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Command.cs
+42
-14
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Message.cs
+27
-0
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Property.cs
+24
-0
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.cs
+4
-0
VIZ.H2V.Module/NDIView/VieweModel/Part/NDIViewToolPartViewModel.cs
+43
-0
VIZ.H2V.Module/SystemSetting/View/StyleSettingPanelView.xaml
+12
-2
VIZ.H2V.Module/SystemSetting/ViewModel/StyleSettingPanelViewModel.cs
+19
-0
VIZ.H2V.Module/VIZ.H2V.Module.csproj
+1
-0
VIZ.H2V.Storage/LiteDB/Algorithm/AlgorithmBase.cs
+5
-0
VIZ.H2V.Storage/LiteDB/System/SystemConfig.cs
+6
-1
VIZ.H2V.UdpTestTool/ViewModel/MainViewModel.cs
+1
-1
VIZ.H2V/config/config.ini
+2
-0
No files found.
VIZ.H2V.Common/Widgets/FootballFieldPanel/FootballFieldPanel.xaml
View file @
d24d5195
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
</Style>
</Style>
<ControlTemplate x:Key="FootballFieldPanel_Horizontal" TargetType="local:FootballFieldPanel">
<ControlTemplate x:Key="FootballFieldPanel_Horizontal" TargetType="local:FootballFieldPanel">
<Grid>
<Grid
HorizontalAlignment="Center" VerticalAlignment="Center"
>
<Grid.RowDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20"></RowDefinition>
<RowDefinition Height="20"></RowDefinition>
<RowDefinition Height="{Binding Path=FootballFieldHeight,RelativeSource={RelativeSource AncestorLevel=1,Mode=FindAncestor,AncestorType=local:FootballFieldPanel}}"></RowDefinition>
<RowDefinition Height="{Binding Path=FootballFieldHeight,RelativeSource={RelativeSource AncestorLevel=1,Mode=FindAncestor,AncestorType=local:FootballFieldPanel}}"></RowDefinition>
...
@@ -88,9 +88,8 @@
...
@@ -88,9 +88,8 @@
</Grid>
</Grid>
</ControlTemplate>
</ControlTemplate>
<ControlTemplate x:Key="FootballFieldPanel_Vertical" TargetType="local:FootballFieldPanel">
<ControlTemplate x:Key="FootballFieldPanel_Vertical" TargetType="local:FootballFieldPanel">
<Grid>
<Grid
HorizontalAlignment="Center" VerticalAlignment="Center"
>
<Grid.RowDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20"></RowDefinition>
<RowDefinition Height="20"></RowDefinition>
<RowDefinition Height="{Binding Path=FootballFieldWidth,RelativeSource={RelativeSource AncestorLevel=1,Mode=FindAncestor,AncestorType=local:FootballFieldPanel}}"></RowDefinition>
<RowDefinition Height="{Binding Path=FootballFieldWidth,RelativeSource={RelativeSource AncestorLevel=1,Mode=FindAncestor,AncestorType=local:FootballFieldPanel}}"></RowDefinition>
...
...
VIZ.H2V.Connection/UDP/Algorithm/Enum/AlgorithmAutoModeCmd.cs
View file @
d24d5195
...
@@ -45,5 +45,15 @@ namespace VIZ.H2V.Connection
...
@@ -45,5 +45,15 @@ namespace VIZ.H2V.Connection
/// 3. 战术机位 Tactics
/// 3. 战术机位 Tactics
/// </remarks>
/// </remarks>
public
const
string
borderline_correction
=
"borderline_correction"
;
public
const
string
borderline_correction
=
"borderline_correction"
;
/// <summary>
/// 手动校准
/// <see cref="VIZ.H2V.Storage.AlgorithmStrategyType"/>
/// </summary>
/// <remarks>
/// 除单人机位外的其他机位支持
/// 1. 单人机位 Single
/// </remarks>
public
const
string
manual_correction
=
"manual_correction"
;
}
}
}
}
VIZ.H2V.Connection/UDP/Algorithm/Provider/AlgorithmProvider__crop_roi..cs
View file @
d24d5195
...
@@ -48,6 +48,7 @@ namespace VIZ.H2V.Connection
...
@@ -48,6 +48,7 @@ namespace VIZ.H2V.Connection
message
.
target_bbox
=
new
RawRectangleF
(
package
.
target_bbox
[
0
],
package
.
target_bbox
[
1
],
package
.
target_bbox
[
2
],
package
.
target_bbox
[
3
]);
message
.
target_bbox
=
new
RawRectangleF
(
package
.
target_bbox
[
0
],
package
.
target_bbox
[
1
],
package
.
target_bbox
[
2
],
package
.
target_bbox
[
3
]);
}
}
message
.
borderline
=
package
.
borderline
;
message
.
borderline
=
package
.
borderline
;
message
.
correction_area
=
package
.
correction_area
;
ApplicationDomainEx
.
MessageManager
.
Send
(
message
);
ApplicationDomainEx
.
MessageManager
.
Send
(
message
);
}
}
...
...
VIZ.H2V.Connection/UDP/Algorithm/Sender/AlgorithmSenderOption.cs
View file @
d24d5195
...
@@ -23,8 +23,8 @@ namespace VIZ.H2V.Connection
...
@@ -23,8 +23,8 @@ namespace VIZ.H2V.Connection
public
bool
enable_sendto_crop
{
get
;
set
;
}
public
bool
enable_sendto_crop
{
get
;
set
;
}
/// <summary>
/// <summary>
///
边线检测点
///
手动校准(x,y,r)
/// </summary>
/// </summary>
public
AlgorithmInfo_borderpoint
borderpoint
{
get
;
set
;
}
public
List
<
int
>
correction_area
{
get
;
set
;
}
}
}
}
}
VIZ.H2V.Connection/UDP/Algorithm/Signal/Recv/AlgorithmRecvPackage__crop_roi.cs
View file @
d24d5195
...
@@ -29,6 +29,11 @@ namespace VIZ.H2V.Connection
...
@@ -29,6 +29,11 @@ namespace VIZ.H2V.Connection
public
List
<
int
>
target_bbox
{
get
;
set
;
}
public
List
<
int
>
target_bbox
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 手动校准区域(x,y,半径r)
/// </summary>
public
List
<
int
>
correction_area
{
get
;
set
;
}
/// <summary>
/// 边线信息
/// 边线信息
/// </summary>
/// </summary>
public
AlgorithmInfo_borderline
borderline
{
get
;
set
;
}
public
AlgorithmInfo_borderline
borderline
{
get
;
set
;
}
...
...
VIZ.H2V.Connection/UDP/Algorithm/Signal/Send/AlgorithmPackage__auto_mode_Cableway.cs
View file @
d24d5195
...
@@ -40,5 +40,10 @@ namespace VIZ.H2V.Connection
...
@@ -40,5 +40,10 @@ namespace VIZ.H2V.Connection
/// 距离所占权重(0~1)
/// 距离所占权重(0~1)
/// </summary>
/// </summary>
public
double
weight_distance
{
get
;
set
;
}
public
double
weight_distance
{
get
;
set
;
}
/// <summary>
/// 手动校准
/// </summary>
public
List
<
int
>
correction_area
{
get
;
set
;
}
}
}
}
}
VIZ.H2V.Connection/UDP/Algorithm/Signal/Send/AlgorithmPackage__auto_mode_Near.cs
View file @
d24d5195
...
@@ -49,5 +49,10 @@ namespace VIZ.H2V.Connection
...
@@ -49,5 +49,10 @@ namespace VIZ.H2V.Connection
/// 对应 cmd = borderline_correction 时有值
/// 对应 cmd = borderline_correction 时有值
/// </remarks>
/// </remarks>
public
AlgorithmInfo_borderpoint
borderpoint
{
get
;
set
;
}
public
AlgorithmInfo_borderpoint
borderpoint
{
get
;
set
;
}
/// <summary>
/// 手动校准
/// </summary>
public
List
<
int
>
correction_area
{
get
;
set
;
}
}
}
}
}
VIZ.H2V.Connection/UDP/Algorithm/Signal/Send/AlgorithmPackage__auto_mode_Sixteen.cs
View file @
d24d5195
...
@@ -49,5 +49,10 @@ namespace VIZ.H2V.Connection
...
@@ -49,5 +49,10 @@ namespace VIZ.H2V.Connection
/// 对应 cmd = borderline_correction 时有值
/// 对应 cmd = borderline_correction 时有值
/// </remarks>
/// </remarks>
public
AlgorithmInfo_borderpoint
borderpoint
{
get
;
set
;
}
public
AlgorithmInfo_borderpoint
borderpoint
{
get
;
set
;
}
/// <summary>
/// 手动校准
/// </summary>
public
List
<
int
>
correction_area
{
get
;
set
;
}
}
}
}
}
VIZ.H2V.Connection/UDP/Algorithm/Signal/Send/AlgorithmPackage__auto_mode_Tactics.cs
View file @
d24d5195
...
@@ -49,5 +49,10 @@ namespace VIZ.H2V.Connection
...
@@ -49,5 +49,10 @@ namespace VIZ.H2V.Connection
/// 对应 cmd = borderline_correction 时有值
/// 对应 cmd = borderline_correction 时有值
/// </remarks>
/// </remarks>
public
AlgorithmInfo_borderpoint
borderpoint
{
get
;
set
;
}
public
AlgorithmInfo_borderpoint
borderpoint
{
get
;
set
;
}
/// <summary>
/// 手动校准
/// </summary>
public
List
<
int
>
correction_area
{
get
;
set
;
}
}
}
}
}
VIZ.H2V.Domain/Message/Algorithm/AlgorithmMessage__crop_roi.cs
View file @
d24d5195
...
@@ -29,6 +29,11 @@ namespace VIZ.H2V.Domain
...
@@ -29,6 +29,11 @@ namespace VIZ.H2V.Domain
public
AlgorithmInfo_borderline
borderline
{
get
;
set
;
}
public
AlgorithmInfo_borderline
borderline
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 手动校准区域
/// </summary>
public
List
<
int
>
correction_area
{
get
;
set
;
}
/// <summary>
/// 时间码
/// 时间码
/// </summary>
/// </summary>
public
long
timecode
{
get
;
set
;
}
public
long
timecode
{
get
;
set
;
}
...
...
VIZ.H2V.Module.Resource/Converter/AlgorithmStrategyType2FootballFieldHeightConverter.cs
0 → 100644
View file @
d24d5195
using
System
;
using
System.Collections.Generic
;
using
System.Globalization
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows.Controls
;
using
System.Windows.Data
;
using
VIZ.H2V.Storage
;
namespace
VIZ.H2V.Module.Resource
{
/// <summary>
/// 算法类型 -> 足球场 高度 转化器
/// </summary>
public
class
AlgorithmStrategyType2FootballFieldHeightConverter
:
IValueConverter
{
/// <summary>
/// 不包含时的高度
/// </summary>
public
double
NotContainsHeight
{
get
;
set
;
}
=
140
;
/// <summary>
/// 包含时的高度
/// </summary>
public
double
ContainsHeight
{
get
;
set
;
}
=
190
;
#
region
StrategyTypeListString
--
算法列表字符串
private
string
strategyTypeListString
;
/// <summary>
/// 算法列表字符串
/// </summary>
public
string
StrategyTypeListString
{
get
{
return
strategyTypeListString
;
}
set
{
strategyTypeListString
=
value
;
string
[]
items
=
value
.
Split
(
','
);
List
<
AlgorithmStrategyType
>
list
=
new
List
<
AlgorithmStrategyType
>();
foreach
(
string
item
in
items
)
{
list
.
Add
((
AlgorithmStrategyType
)
Enum
.
Parse
(
typeof
(
AlgorithmStrategyType
),
item
.
Trim
()));
}
this
.
strategyTypeList
=
list
;
}
}
/// <summary>
/// 算法列表
/// </summary>
private
List
<
AlgorithmStrategyType
>
strategyTypeList
;
#
endregion
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
if
(!(
value
is
AlgorithmStrategyType
))
return
this
.
NotContainsHeight
;
AlgorithmStrategyType
type
=
(
AlgorithmStrategyType
)
value
;
return
this
.
strategyTypeList
.
Contains
(
type
)
?
this
.
ContainsHeight
:
this
.
NotContainsHeight
;
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
throw
new
NotImplementedException
();
}
}
}
VIZ.H2V.Module.Resource/Converter/NDIViewProperty2VisibilityConverter.cs
View file @
d24d5195
...
@@ -122,10 +122,12 @@ namespace VIZ.H2V.Module.Resource
...
@@ -122,10 +122,12 @@ namespace VIZ.H2V.Module.Resource
AlgorithmStrategyMode
mode
=
(
AlgorithmStrategyMode
)
values
[
1
];
AlgorithmStrategyMode
mode
=
(
AlgorithmStrategyMode
)
values
[
1
];
AlgorithmStrategyType
type
=
(
AlgorithmStrategyType
)
values
[
2
];
AlgorithmStrategyType
type
=
(
AlgorithmStrategyType
)
values
[
2
];
return
this
.
viewStatusList
.
Contains
(
status
)
&&
Visibility
result
=
this
.
viewStatusList
.
Contains
(
status
)
&&
this
.
strategyModeList
.
Contains
(
mode
)
&&
this
.
strategyModeList
.
Contains
(
mode
)
&&
this
.
strategyTypeList
.
Contains
(
type
)
this
.
strategyTypeList
.
Contains
(
type
)
?
Visibility
.
Visible
:
Visibility
.
Collapsed
;
?
Visibility
.
Visible
:
Visibility
.
Collapsed
;
return
result
;
}
}
public
object
[]
ConvertBack
(
object
value
,
Type
[]
targetTypes
,
object
parameter
,
CultureInfo
culture
)
public
object
[]
ConvertBack
(
object
value
,
Type
[]
targetTypes
,
object
parameter
,
CultureInfo
culture
)
...
...
VIZ.H2V.Module.Resource/Style/RadioButton/RadioButton_NdiView.xaml
View file @
d24d5195
...
@@ -69,4 +69,40 @@
...
@@ -69,4 +69,40 @@
</Style.Triggers>
</Style.Triggers>
</Style>
</Style>
<Style TargetType="RadioButton" x:Key="RadioButton_NdiView_Tool">
<Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid x:Name="bd_outer" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="8"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Rectangle x:Name="rect" Fill="#22ffffff" Grid.Column="0"></Rectangle>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Grid.Column="1"></ContentPresenter>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="rect" Property="Fill" Value="#fff79b00"></Setter>
<Setter TargetName="bd_outer" Property="Background" Value="#11ffffff"></Setter>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="bd_outer" Property="Background" Value="#22ffffff"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.7"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
</ResourceDictionary>
\ No newline at end of file
VIZ.H2V.Module.Resource/VIZ.H2V.Module.Resource.csproj
View file @
d24d5195
...
@@ -120,6 +120,7 @@
...
@@ -120,6 +120,7 @@
</Page>
</Page>
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<Compile Include="Converter\AlgorithmStrategyType2FootballFieldHeightConverter.cs" />
<Compile Include="Converter\AlgorithmStrategyType2FootballFieldOrientationConverter.cs" />
<Compile Include="Converter\AlgorithmStrategyType2FootballFieldOrientationConverter.cs" />
<Compile Include="Converter\NDIViewProperty2VisibilityConverter.cs" />
<Compile Include="Converter\NDIViewProperty2VisibilityConverter.cs" />
<Compile Include="Converter\NDIViewProperty2BoolConverter.cs" />
<Compile Include="Converter\NDIViewProperty2BoolConverter.cs" />
...
...
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmCablewayPanelView.xaml
View file @
d24d5195
...
@@ -40,6 +40,7 @@
...
@@ -40,6 +40,7 @@
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
</Grid.RowDefinitions>
<!-- 无球时自动跟人 -->
<!-- 无球时自动跟人 -->
...
@@ -171,7 +172,17 @@
...
@@ -171,7 +172,17 @@
</ComboBox.ItemTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</ComboBox>
</Grid>
</Grid>
<!-- 手动校准半径 -->
<Grid Grid.Row="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="380"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动校准半径(像素)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<fcommon:NumberBox Grid.Column="1" MinValue="200" MaxValue="400" Interval="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></fcommon:NumberBox>
</Grid>
</Grid>
</Grid>
</Border>
</Border>
</UserControl>
</UserControl>
\ No newline at end of file
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmNearPanelView.xaml
View file @
d24d5195
...
@@ -40,6 +40,7 @@
...
@@ -40,6 +40,7 @@
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
</Grid.RowDefinitions>
<!-- 无球时自动跟人 -->
<!-- 无球时自动跟人 -->
...
@@ -172,6 +173,16 @@
...
@@ -172,6 +173,16 @@
</ComboBox>
</ComboBox>
</Grid>
</Grid>
<!-- 手动校准半径 -->
<Grid Grid.Row="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="380"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动校准半径(像素)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<fcommon:NumberBox Grid.Column="1" MinValue="200" MaxValue="400" Interval="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></fcommon:NumberBox>
</Grid>
</Grid>
</Grid>
</Border>
</Border>
</UserControl>
</UserControl>
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmSixteenPanelView.xaml
View file @
d24d5195
...
@@ -40,6 +40,7 @@
...
@@ -40,6 +40,7 @@
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
</Grid.RowDefinitions>
<!-- 无球时自动跟人 -->
<!-- 无球时自动跟人 -->
...
@@ -172,6 +173,16 @@
...
@@ -172,6 +173,16 @@
</ComboBox>
</ComboBox>
</Grid>
</Grid>
<!-- 手动校准半径 -->
<Grid Grid.Row="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="380"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动校准半径(像素)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<fcommon:NumberBox Grid.Column="1" MinValue="200" MaxValue="400" Interval="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></fcommon:NumberBox>
</Grid>
</Grid>
</Grid>
</Border>
</Border>
</UserControl>
</UserControl>
\ No newline at end of file
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmTacticsPanelView.xaml
View file @
d24d5195
...
@@ -40,6 +40,7 @@
...
@@ -40,6 +40,7 @@
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
</Grid.RowDefinitions>
<!-- 无球时自动跟人 -->
<!-- 无球时自动跟人 -->
...
@@ -172,6 +173,16 @@
...
@@ -172,6 +173,16 @@
</ComboBox>
</ComboBox>
</Grid>
</Grid>
<!-- 手动校准半径 -->
<Grid Grid.Row="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="380"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动校准半径(像素)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<fcommon:NumberBox Grid.Column="1" MinValue="200" MaxValue="400" Interval="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></fcommon:NumberBox>
</Grid>
</Grid>
</Grid>
</Border>
</Border>
</UserControl>
</UserControl>
\ No newline at end of file
VIZ.H2V.Module/NDISettingView/ViewModel/Algorithm/AlgorithmCablewayPanelViewModel.cs
View file @
d24d5195
...
@@ -112,6 +112,20 @@ namespace VIZ.H2V.Module
...
@@ -112,6 +112,20 @@ namespace VIZ.H2V.Module
#
endregion
#
endregion
#
region
ManualCorrectionRadius
--
手动校准半径
private
double
manualCorrectionRadius
;
/// <summary>
/// 手动校准半径
/// </summary>
public
double
ManualCorrectionRadius
{
get
{
return
manualCorrectionRadius
;
}
set
{
manualCorrectionRadius
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ManualCorrectionRadius
));
}
}
#
endregion
// ======================================================================================
// ======================================================================================
// === Command ===
// === Command ===
// ======================================================================================
// ======================================================================================
...
@@ -139,6 +153,7 @@ namespace VIZ.H2V.Module
...
@@ -139,6 +153,7 @@ namespace VIZ.H2V.Module
this
.
NoBallAutoChangeToPerson
=
config
.
NoBallAutoChangeToPerson
;
this
.
NoBallAutoChangeToPerson
=
config
.
NoBallAutoChangeToPerson
;
this
.
SmoothCoeff
=
config
.
SmoothCoeff
;
this
.
SmoothCoeff
=
config
.
SmoothCoeff
;
this
.
KeepPrevFrame
=
config
.
KeepPrevFrame
;
this
.
KeepPrevFrame
=
config
.
KeepPrevFrame
;
this
.
ManualCorrectionRadius
=
config
.
ManualCorrectionRadius
;
// 场景信息
// 场景信息
this
.
SelectedBorderScence
=
this
.
BorderScences
?.
FirstOrDefault
(
p
=>
p
.
Key
==
this
.
Config
.
BorderScene
)
??
this
.
BorderScences
?.
FirstOrDefault
();
this
.
SelectedBorderScence
=
this
.
BorderScences
?.
FirstOrDefault
(
p
=>
p
.
Key
==
this
.
Config
.
BorderScene
)
??
this
.
BorderScences
?.
FirstOrDefault
();
...
@@ -183,6 +198,9 @@ namespace VIZ.H2V.Module
...
@@ -183,6 +198,9 @@ namespace VIZ.H2V.Module
if
(
this
.
SelectedBorderScence
.
Key
!=
this
.
Config
.
BorderScene
)
if
(
this
.
SelectedBorderScence
.
Key
!=
this
.
Config
.
BorderScene
)
return
true
;
return
true
;
if
(
this
.
ManualCorrectionRadius
!=
this
.
Config
.
ManualCorrectionRadius
)
return
true
;
return
false
;
return
false
;
}
}
...
@@ -220,6 +238,7 @@ namespace VIZ.H2V.Module
...
@@ -220,6 +238,7 @@ namespace VIZ.H2V.Module
this
.
Config
.
SmoothCoeff
=
this
.
SmoothCoeff
;
this
.
Config
.
SmoothCoeff
=
this
.
SmoothCoeff
;
this
.
Config
.
KeepPrevFrame
=
this
.
KeepPrevFrame
;
this
.
Config
.
KeepPrevFrame
=
this
.
KeepPrevFrame
;
this
.
Config
.
BorderScene
=
this
.
SelectedBorderScence
.
Key
;
this
.
Config
.
BorderScene
=
this
.
SelectedBorderScence
.
Key
;
this
.
Config
.
ManualCorrectionRadius
=
this
.
ManualCorrectionRadius
;
this
.
ViewConfig
.
GPU
=
this
.
SelectedGpuInfo
?.
Physics
??
0
;
this
.
ViewConfig
.
GPU
=
this
.
SelectedGpuInfo
?.
Physics
??
0
;
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmCableway
.
Upsert
(
this
.
Config
);
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmCableway
.
Upsert
(
this
.
Config
);
...
...
VIZ.H2V.Module/NDISettingView/ViewModel/Algorithm/AlgorithmNearPanelViewModel.cs
View file @
d24d5195
...
@@ -114,6 +114,20 @@ namespace VIZ.H2V.Module
...
@@ -114,6 +114,20 @@ namespace VIZ.H2V.Module
#
endregion
#
endregion
#
region
ManualCorrectionRadius
--
手动校准半径
private
double
manualCorrectionRadius
;
/// <summary>
/// 手动校准半径
/// </summary>
public
double
ManualCorrectionRadius
{
get
{
return
manualCorrectionRadius
;
}
set
{
manualCorrectionRadius
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ManualCorrectionRadius
));
}
}
#
endregion
// ======================================================================================
// ======================================================================================
// === Command ===
// === Command ===
// ======================================================================================
// ======================================================================================
...
@@ -141,6 +155,7 @@ namespace VIZ.H2V.Module
...
@@ -141,6 +155,7 @@ namespace VIZ.H2V.Module
this
.
NoBallAutoChangeToPerson
=
config
.
NoBallAutoChangeToPerson
;
this
.
NoBallAutoChangeToPerson
=
config
.
NoBallAutoChangeToPerson
;
this
.
SmoothCoeff
=
config
.
SmoothCoeff
;
this
.
SmoothCoeff
=
config
.
SmoothCoeff
;
this
.
KeepPrevFrame
=
config
.
KeepPrevFrame
;
this
.
KeepPrevFrame
=
config
.
KeepPrevFrame
;
this
.
ManualCorrectionRadius
=
config
.
ManualCorrectionRadius
;
// 场景信息
// 场景信息
this
.
SelectedBorderScence
=
this
.
BorderScences
?.
FirstOrDefault
(
p
=>
p
.
Key
==
this
.
Config
.
BorderScene
)
??
this
.
BorderScences
?.
FirstOrDefault
();
this
.
SelectedBorderScence
=
this
.
BorderScences
?.
FirstOrDefault
(
p
=>
p
.
Key
==
this
.
Config
.
BorderScene
)
??
this
.
BorderScences
?.
FirstOrDefault
();
...
@@ -185,6 +200,9 @@ namespace VIZ.H2V.Module
...
@@ -185,6 +200,9 @@ namespace VIZ.H2V.Module
if
(
this
.
SelectedBorderScence
.
Key
!=
this
.
Config
.
BorderScene
)
if
(
this
.
SelectedBorderScence
.
Key
!=
this
.
Config
.
BorderScene
)
return
true
;
return
true
;
if
(
this
.
ManualCorrectionRadius
!=
this
.
Config
.
ManualCorrectionRadius
)
return
true
;
return
false
;
return
false
;
}
}
...
@@ -222,6 +240,7 @@ namespace VIZ.H2V.Module
...
@@ -222,6 +240,7 @@ namespace VIZ.H2V.Module
this
.
Config
.
SmoothCoeff
=
this
.
SmoothCoeff
;
this
.
Config
.
SmoothCoeff
=
this
.
SmoothCoeff
;
this
.
Config
.
KeepPrevFrame
=
this
.
KeepPrevFrame
;
this
.
Config
.
KeepPrevFrame
=
this
.
KeepPrevFrame
;
this
.
Config
.
BorderScene
=
this
.
SelectedBorderScence
.
Key
;
this
.
Config
.
BorderScene
=
this
.
SelectedBorderScence
.
Key
;
this
.
Config
.
ManualCorrectionRadius
=
this
.
ManualCorrectionRadius
;
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmNear
.
Upsert
(
this
.
Config
);
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmNear
.
Upsert
(
this
.
Config
);
...
...
VIZ.H2V.Module/NDISettingView/ViewModel/Algorithm/AlgorithmSixteenPanelViewModel.cs
View file @
d24d5195
...
@@ -112,6 +112,20 @@ namespace VIZ.H2V.Module
...
@@ -112,6 +112,20 @@ namespace VIZ.H2V.Module
#
endregion
#
endregion
#
region
ManualCorrectionRadius
--
手动校准半径
private
double
manualCorrectionRadius
;
/// <summary>
/// 手动校准半径
/// </summary>
public
double
ManualCorrectionRadius
{
get
{
return
manualCorrectionRadius
;
}
set
{
manualCorrectionRadius
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ManualCorrectionRadius
));
}
}
#
endregion
// ======================================================================================
// ======================================================================================
// === Command ===
// === Command ===
// ======================================================================================
// ======================================================================================
...
@@ -139,6 +153,7 @@ namespace VIZ.H2V.Module
...
@@ -139,6 +153,7 @@ namespace VIZ.H2V.Module
this
.
NoBallAutoChangeToPerson
=
config
.
NoBallAutoChangeToPerson
;
this
.
NoBallAutoChangeToPerson
=
config
.
NoBallAutoChangeToPerson
;
this
.
SmoothCoeff
=
config
.
SmoothCoeff
;
this
.
SmoothCoeff
=
config
.
SmoothCoeff
;
this
.
KeepPrevFrame
=
config
.
KeepPrevFrame
;
this
.
KeepPrevFrame
=
config
.
KeepPrevFrame
;
this
.
ManualCorrectionRadius
=
config
.
ManualCorrectionRadius
;
// 场景信息
// 场景信息
this
.
SelectedBorderScence
=
this
.
BorderScences
?.
FirstOrDefault
(
p
=>
p
.
Key
==
this
.
Config
.
BorderScene
)
??
this
.
BorderScences
?.
FirstOrDefault
();
this
.
SelectedBorderScence
=
this
.
BorderScences
?.
FirstOrDefault
(
p
=>
p
.
Key
==
this
.
Config
.
BorderScene
)
??
this
.
BorderScences
?.
FirstOrDefault
();
...
@@ -183,6 +198,9 @@ namespace VIZ.H2V.Module
...
@@ -183,6 +198,9 @@ namespace VIZ.H2V.Module
if
(
this
.
SelectedBorderScence
.
Key
!=
this
.
Config
.
BorderScene
)
if
(
this
.
SelectedBorderScence
.
Key
!=
this
.
Config
.
BorderScene
)
return
true
;
return
true
;
if
(
this
.
ManualCorrectionRadius
!=
this
.
Config
.
ManualCorrectionRadius
)
return
true
;
return
false
;
return
false
;
}
}
...
@@ -220,6 +238,7 @@ namespace VIZ.H2V.Module
...
@@ -220,6 +238,7 @@ namespace VIZ.H2V.Module
this
.
Config
.
SmoothCoeff
=
this
.
SmoothCoeff
;
this
.
Config
.
SmoothCoeff
=
this
.
SmoothCoeff
;
this
.
Config
.
KeepPrevFrame
=
this
.
KeepPrevFrame
;
this
.
Config
.
KeepPrevFrame
=
this
.
KeepPrevFrame
;
this
.
Config
.
BorderScene
=
this
.
SelectedBorderScence
.
Key
;
this
.
Config
.
BorderScene
=
this
.
SelectedBorderScence
.
Key
;
this
.
Config
.
ManualCorrectionRadius
=
this
.
ManualCorrectionRadius
;
this
.
ViewConfig
.
GPU
=
this
.
SelectedGpuInfo
?.
Physics
??
0
;
this
.
ViewConfig
.
GPU
=
this
.
SelectedGpuInfo
?.
Physics
??
0
;
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmSixteen
.
Upsert
(
this
.
Config
);
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmSixteen
.
Upsert
(
this
.
Config
);
...
...
VIZ.H2V.Module/NDISettingView/ViewModel/Algorithm/AlgorithmTacticsPanelViewModel.cs
View file @
d24d5195
...
@@ -112,6 +112,20 @@ namespace VIZ.H2V.Module
...
@@ -112,6 +112,20 @@ namespace VIZ.H2V.Module
#
endregion
#
endregion
#
region
ManualCorrectionRadius
--
手动校准半径
private
double
manualCorrectionRadius
;
/// <summary>
/// 手动校准半径
/// </summary>
public
double
ManualCorrectionRadius
{
get
{
return
manualCorrectionRadius
;
}
set
{
manualCorrectionRadius
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ManualCorrectionRadius
));
}
}
#
endregion
// ======================================================================================
// ======================================================================================
// === Command ===
// === Command ===
// ======================================================================================
// ======================================================================================
...
@@ -139,6 +153,7 @@ namespace VIZ.H2V.Module
...
@@ -139,6 +153,7 @@ namespace VIZ.H2V.Module
this
.
NoBallAutoChangeToPerson
=
config
.
NoBallAutoChangeToPerson
;
this
.
NoBallAutoChangeToPerson
=
config
.
NoBallAutoChangeToPerson
;
this
.
SmoothCoeff
=
config
.
SmoothCoeff
;
this
.
SmoothCoeff
=
config
.
SmoothCoeff
;
this
.
KeepPrevFrame
=
config
.
KeepPrevFrame
;
this
.
KeepPrevFrame
=
config
.
KeepPrevFrame
;
this
.
ManualCorrectionRadius
=
config
.
ManualCorrectionRadius
;
// 场景信息
// 场景信息
this
.
SelectedBorderScence
=
this
.
BorderScences
?.
FirstOrDefault
(
p
=>
p
.
Key
==
this
.
Config
.
BorderScene
)
??
this
.
BorderScences
?.
FirstOrDefault
();
this
.
SelectedBorderScence
=
this
.
BorderScences
?.
FirstOrDefault
(
p
=>
p
.
Key
==
this
.
Config
.
BorderScene
)
??
this
.
BorderScences
?.
FirstOrDefault
();
...
@@ -183,6 +198,9 @@ namespace VIZ.H2V.Module
...
@@ -183,6 +198,9 @@ namespace VIZ.H2V.Module
if
(
this
.
SelectedBorderScence
.
Key
!=
this
.
Config
.
BorderScene
)
if
(
this
.
SelectedBorderScence
.
Key
!=
this
.
Config
.
BorderScene
)
return
true
;
return
true
;
if
(
this
.
ManualCorrectionRadius
!=
this
.
Config
.
ManualCorrectionRadius
)
return
true
;
return
false
;
return
false
;
}
}
...
@@ -220,6 +238,7 @@ namespace VIZ.H2V.Module
...
@@ -220,6 +238,7 @@ namespace VIZ.H2V.Module
this
.
Config
.
SmoothCoeff
=
this
.
SmoothCoeff
;
this
.
Config
.
SmoothCoeff
=
this
.
SmoothCoeff
;
this
.
Config
.
KeepPrevFrame
=
this
.
KeepPrevFrame
;
this
.
Config
.
KeepPrevFrame
=
this
.
KeepPrevFrame
;
this
.
Config
.
BorderScene
=
this
.
SelectedBorderScence
.
Key
;
this
.
Config
.
BorderScene
=
this
.
SelectedBorderScence
.
Key
;
this
.
Config
.
ManualCorrectionRadius
=
this
.
ManualCorrectionRadius
;
this
.
ViewConfig
.
GPU
=
this
.
SelectedGpuInfo
?.
Physics
??
0
;
this
.
ViewConfig
.
GPU
=
this
.
SelectedGpuInfo
?.
Physics
??
0
;
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmTactics
.
Upsert
(
this
.
Config
);
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmTactics
.
Upsert
(
this
.
Config
);
...
...
VIZ.H2V.Module/NDIView/Controller/Algorithm/AlgorithmControllerBase.cs
View file @
d24d5195
...
@@ -205,6 +205,12 @@ namespace VIZ.H2V.Module
...
@@ -205,6 +205,12 @@ namespace VIZ.H2V.Module
public
abstract
void
BorderPoint
(
AlgorithmInfo_borderpoint
boarderpoint
);
public
abstract
void
BorderPoint
(
AlgorithmInfo_borderpoint
boarderpoint
);
/// <summary>
/// <summary>
/// 手动校准
/// </summary>
/// <param name="info">手动校准信息</param>
public
abstract
void
ManualCorrection
(
ManualCorrectionInfo
info
);
/// <summary>
/// 获取配置信息
/// 获取配置信息
/// </summary>
/// </summary>
/// <returns>配置信息</returns>
/// <returns>配置信息</returns>
...
...
VIZ.H2V.Module/NDIView/Controller/Algorithm/IAlgorithmController.cs
View file @
d24d5195
...
@@ -65,6 +65,12 @@ namespace VIZ.H2V.Module
...
@@ -65,6 +65,12 @@ namespace VIZ.H2V.Module
void
BorderPoint
(
AlgorithmInfo_borderpoint
borderpoint
);
void
BorderPoint
(
AlgorithmInfo_borderpoint
borderpoint
);
/// <summary>
/// <summary>
/// 手动校准
/// </summary>
/// <param name="info">手动校准信息</param>
void
ManualCorrection
(
ManualCorrectionInfo
info
);
/// <summary>
/// 初始化算法
/// 初始化算法
/// </summary>
/// </summary>
/// <remarks>
/// <remarks>
...
...
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Cableway.cs
View file @
d24d5195
...
@@ -37,7 +37,7 @@ namespace VIZ.H2V.Module
...
@@ -37,7 +37,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmPackage__auto_mode_Cableway
package
=
this
.
BuildPackage
(
null
);
AlgorithmPackage__auto_mode_Cableway
package
=
this
.
BuildPackage
(
null
,
null
);
package
.
signal
=
AlgorithmPackageSignal
.
no_mode
;
package
.
signal
=
AlgorithmPackageSignal
.
no_mode
;
AlgorithmSender
.
AutoMode
(
manager
,
package
,
option
);
AlgorithmSender
.
AutoMode
(
manager
,
package
,
option
);
}
}
...
@@ -67,7 +67,7 @@ namespace VIZ.H2V.Module
...
@@ -67,7 +67,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -98,7 +98,7 @@ namespace VIZ.H2V.Module
...
@@ -98,7 +98,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -111,6 +111,26 @@ namespace VIZ.H2V.Module
...
@@ -111,6 +111,26 @@ namespace VIZ.H2V.Module
}
}
/// <summary>
/// <summary>
/// 手动校准
/// </summary>
/// <param name="info">手动校准信息</param>
public
override
void
ManualCorrection
(
ManualCorrectionInfo
info
)
{
if
(
info
==
null
)
return
;
UdpEndpointManager
manager
=
ConnectionManager
.
UdpConnection
.
GetEndpointManager
(
this
.
Support
.
ViewKey
);
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
List
<
int
>
correction_area
=
new
List
<
int
>()
{
(
int
)
info
.
SrcCenter
.
X
,
(
int
)
info
.
SrcCenter
.
Y
,
(
int
)
info
.
SrcRadius
};
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
manual_correction
,
correction_area
),
option
);
}
/// <summary>
/// 获取配置信息
/// 获取配置信息
/// </summary>
/// </summary>
/// <returns>配置信息</returns>
/// <returns>配置信息</returns>
...
@@ -136,8 +156,9 @@ namespace VIZ.H2V.Module
...
@@ -136,8 +156,9 @@ namespace VIZ.H2V.Module
/// 构建数据包
/// 构建数据包
/// </summary>
/// </summary>
/// <param name="cmd">命令<see cref="AlgorithmAutoModeCmd"/></param>
/// <param name="cmd">命令<see cref="AlgorithmAutoModeCmd"/></param>
/// <param name="correction_area">人工校准区域</param>
/// <returns>数据包</returns>
/// <returns>数据包</returns>
public
AlgorithmPackage__auto_mode_Cableway
BuildPackage
(
string
cmd
)
public
AlgorithmPackage__auto_mode_Cableway
BuildPackage
(
string
cmd
,
List
<
int
>
correction_area
)
{
{
AlgorithmCableway
config
=
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmCableway
.
FindOne
(
p
=>
p
.
ViewKey
==
this
.
Support
.
ViewKey
);
AlgorithmCableway
config
=
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmCableway
.
FindOne
(
p
=>
p
.
ViewKey
==
this
.
Support
.
ViewKey
);
if
(
config
==
null
)
if
(
config
==
null
)
...
@@ -155,6 +176,7 @@ namespace VIZ.H2V.Module
...
@@ -155,6 +176,7 @@ namespace VIZ.H2V.Module
package
.
auto_follow_human
=
config
.
NoBallAutoChangeToPerson
?
1
:
0
;
package
.
auto_follow_human
=
config
.
NoBallAutoChangeToPerson
?
1
:
0
;
package
.
border_scene
=
config
.
BorderScene
;
package
.
border_scene
=
config
.
BorderScene
;
package
.
border_on
=
config
.
IsBorderEnabled
?
1
:
0
;
package
.
border_on
=
config
.
IsBorderEnabled
?
1
:
0
;
package
.
correction_area
=
correction_area
;
return
package
;
return
package
;
}
}
...
...
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Near.cs
View file @
d24d5195
...
@@ -37,7 +37,7 @@ namespace VIZ.H2V.Module
...
@@ -37,7 +37,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmPackage__auto_mode_Near
package
=
this
.
BuildPackage
(
null
,
null
);
AlgorithmPackage__auto_mode_Near
package
=
this
.
BuildPackage
(
null
,
null
,
null
);
package
.
signal
=
AlgorithmPackageSignal
.
no_mode
;
package
.
signal
=
AlgorithmPackageSignal
.
no_mode
;
AlgorithmSender
.
AutoMode
(
manager
,
package
,
option
);
AlgorithmSender
.
AutoMode
(
manager
,
package
,
option
);
...
@@ -68,7 +68,7 @@ namespace VIZ.H2V.Module
...
@@ -68,7 +68,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
,
null
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -99,7 +99,7 @@ namespace VIZ.H2V.Module
...
@@ -99,7 +99,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
,
null
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -116,9 +116,28 @@ namespace VIZ.H2V.Module
...
@@ -116,9 +116,28 @@ namespace VIZ.H2V.Module
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
borderpoint
=
new
AlgorithmInfo_borderpoint
();
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
borderline_correction
,
borderpoint
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
borderline_correction
,
borderpoint
,
null
),
option
);
}
/// <summary>
/// 手动校准
/// </summary>
/// <param name="info">手动校准信息</param>
public
override
void
ManualCorrection
(
ManualCorrectionInfo
info
)
{
if
(
info
==
null
)
return
;
UdpEndpointManager
manager
=
ConnectionManager
.
UdpConnection
.
GetEndpointManager
(
this
.
Support
.
ViewKey
);
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
List
<
int
>
correction_area
=
new
List
<
int
>()
{
(
int
)
info
.
SrcCenter
.
X
,
(
int
)
info
.
SrcCenter
.
Y
,
(
int
)
info
.
SrcRadius
};
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
manual_correction
,
null
,
correction_area
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -148,8 +167,9 @@ namespace VIZ.H2V.Module
...
@@ -148,8 +167,9 @@ namespace VIZ.H2V.Module
/// </summary>
/// </summary>
/// <param name="cmd">命令<see cref="AlgorithmAutoModeCmd"/></param>
/// <param name="cmd">命令<see cref="AlgorithmAutoModeCmd"/></param>
/// <param name="boarderpoint">边框检测点</param>
/// <param name="boarderpoint">边框检测点</param>
/// <param name="correction_area">手动裁切区域</param>
/// <returns>数据包</returns>
/// <returns>数据包</returns>
private
AlgorithmPackage__auto_mode_Near
BuildPackage
(
string
cmd
,
AlgorithmInfo_borderpoint
boarderpoint
)
private
AlgorithmPackage__auto_mode_Near
BuildPackage
(
string
cmd
,
AlgorithmInfo_borderpoint
boarderpoint
,
List
<
int
>
correction_area
)
{
{
AlgorithmNear
config
=
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmNear
.
FindOne
(
p
=>
p
.
ViewKey
==
this
.
Support
.
ViewKey
);
AlgorithmNear
config
=
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmNear
.
FindOne
(
p
=>
p
.
ViewKey
==
this
.
Support
.
ViewKey
);
if
(
config
==
null
)
if
(
config
==
null
)
...
@@ -168,6 +188,7 @@ namespace VIZ.H2V.Module
...
@@ -168,6 +188,7 @@ namespace VIZ.H2V.Module
package
.
borderpoint
=
boarderpoint
;
package
.
borderpoint
=
boarderpoint
;
package
.
border_scene
=
config
.
BorderScene
;
package
.
border_scene
=
config
.
BorderScene
;
package
.
border_on
=
config
.
IsBorderEnabled
?
1
:
0
;
package
.
border_on
=
config
.
IsBorderEnabled
?
1
:
0
;
package
.
correction_area
=
correction_area
;
return
package
;
return
package
;
}
}
...
...
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Single.cs
View file @
d24d5195
...
@@ -130,6 +130,15 @@ namespace VIZ.H2V.Module
...
@@ -130,6 +130,15 @@ namespace VIZ.H2V.Module
}
}
/// <summary>
/// <summary>
/// 手动校准
/// </summary>
/// <param name="info">手动校准信息</param>
public
override
void
ManualCorrection
(
ManualCorrectionInfo
info
)
{
}
/// <summary>
/// 获取配置信息
/// 获取配置信息
/// </summary>
/// </summary>
/// <returns>配置信息</returns>
/// <returns>配置信息</returns>
...
...
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Sixteen.cs
View file @
d24d5195
...
@@ -37,7 +37,7 @@ namespace VIZ.H2V.Module
...
@@ -37,7 +37,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmPackage__auto_mode_Sixteen
package
=
this
.
BuildPackage
(
null
,
null
);
AlgorithmPackage__auto_mode_Sixteen
package
=
this
.
BuildPackage
(
null
,
null
,
null
);
package
.
signal
=
AlgorithmPackageSignal
.
no_mode
;
package
.
signal
=
AlgorithmPackageSignal
.
no_mode
;
AlgorithmSender
.
AutoMode
(
manager
,
package
,
option
);
AlgorithmSender
.
AutoMode
(
manager
,
package
,
option
);
...
@@ -68,7 +68,7 @@ namespace VIZ.H2V.Module
...
@@ -68,7 +68,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
,
null
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -99,7 +99,7 @@ namespace VIZ.H2V.Module
...
@@ -99,7 +99,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
,
null
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -116,9 +116,28 @@ namespace VIZ.H2V.Module
...
@@ -116,9 +116,28 @@ namespace VIZ.H2V.Module
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
borderpoint
=
new
AlgorithmInfo_borderpoint
();
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
borderline_correction
,
borderpoint
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
borderline_correction
,
borderpoint
,
null
),
option
);
}
/// <summary>
/// 手动校准
/// </summary>
/// <param name="info">手动校准信息</param>
public
override
void
ManualCorrection
(
ManualCorrectionInfo
info
)
{
if
(
info
==
null
)
return
;
UdpEndpointManager
manager
=
ConnectionManager
.
UdpConnection
.
GetEndpointManager
(
this
.
Support
.
ViewKey
);
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
List
<
int
>
correction_area
=
new
List
<
int
>()
{
(
int
)
info
.
SrcCenter
.
X
,
(
int
)
info
.
SrcCenter
.
Y
,
(
int
)
info
.
SrcRadius
};
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
manual_correction
,
null
,
correction_area
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -148,8 +167,9 @@ namespace VIZ.H2V.Module
...
@@ -148,8 +167,9 @@ namespace VIZ.H2V.Module
/// </summary>
/// </summary>
/// <param name="cmd">命令<see cref="AlgorithmAutoModeCmd"/></param>
/// <param name="cmd">命令<see cref="AlgorithmAutoModeCmd"/></param>
/// <param name="boarderpoint">边框检测点</param>
/// <param name="boarderpoint">边框检测点</param>
/// <param name="correction_area">手动校准区域</param>
/// <returns>数据包</returns>
/// <returns>数据包</returns>
public
AlgorithmPackage__auto_mode_Sixteen
BuildPackage
(
string
cmd
,
AlgorithmInfo_borderpoint
boarderpoint
)
public
AlgorithmPackage__auto_mode_Sixteen
BuildPackage
(
string
cmd
,
AlgorithmInfo_borderpoint
boarderpoint
,
List
<
int
>
correction_area
)
{
{
AlgorithmSixteen
config
=
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmSixteen
.
FindOne
(
p
=>
p
.
ViewKey
==
this
.
Support
.
ViewKey
);
AlgorithmSixteen
config
=
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmSixteen
.
FindOne
(
p
=>
p
.
ViewKey
==
this
.
Support
.
ViewKey
);
if
(
config
==
null
)
if
(
config
==
null
)
...
@@ -168,6 +188,7 @@ namespace VIZ.H2V.Module
...
@@ -168,6 +188,7 @@ namespace VIZ.H2V.Module
package
.
borderpoint
=
boarderpoint
;
package
.
borderpoint
=
boarderpoint
;
package
.
border_scene
=
config
.
BorderScene
;
package
.
border_scene
=
config
.
BorderScene
;
package
.
border_on
=
config
.
IsBorderEnabled
?
1
:
0
;
package
.
border_on
=
config
.
IsBorderEnabled
?
1
:
0
;
package
.
correction_area
=
correction_area
;
return
package
;
return
package
;
}
}
...
...
VIZ.H2V.Module/NDIView/Controller/Algorithm/Strategy/AlgorithmController_Tactics.cs
View file @
d24d5195
...
@@ -37,7 +37,7 @@ namespace VIZ.H2V.Module
...
@@ -37,7 +37,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmPackage__auto_mode_Tactics
package
=
this
.
BuildPackage
(
null
,
null
);
AlgorithmPackage__auto_mode_Tactics
package
=
this
.
BuildPackage
(
null
,
null
,
null
);
package
.
signal
=
AlgorithmPackageSignal
.
no_mode
;
package
.
signal
=
AlgorithmPackageSignal
.
no_mode
;
AlgorithmSender
.
AutoMode
(
manager
,
package
,
option
);
AlgorithmSender
.
AutoMode
(
manager
,
package
,
option
);
...
@@ -68,7 +68,7 @@ namespace VIZ.H2V.Module
...
@@ -68,7 +68,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
,
null
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -99,7 +99,7 @@ namespace VIZ.H2V.Module
...
@@ -99,7 +99,7 @@ namespace VIZ.H2V.Module
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
set_params
,
null
,
null
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -116,9 +116,28 @@ namespace VIZ.H2V.Module
...
@@ -116,9 +116,28 @@ namespace VIZ.H2V.Module
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
option
.
id
=
this
.
Support
.
ID
;
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
option
.
borderpoint
=
new
AlgorithmInfo_borderpoint
();
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
borderline_correction
,
borderpoint
),
option
);
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
borderline_correction
,
borderpoint
,
null
),
option
);
}
/// <summary>
/// 手动校准
/// </summary>
/// <param name="info">手动校准信息</param>
public
override
void
ManualCorrection
(
ManualCorrectionInfo
info
)
{
if
(
info
==
null
)
return
;
UdpEndpointManager
manager
=
ConnectionManager
.
UdpConnection
.
GetEndpointManager
(
this
.
Support
.
ViewKey
);
AlgorithmSenderOption
option
=
new
AlgorithmSenderOption
();
option
.
id
=
this
.
Support
.
ID
;
option
.
enable_sendto_crop
=
this
.
Support
.
ViewConfig
.
IsSendToCrop
;
List
<
int
>
correction_area
=
new
List
<
int
>()
{
(
int
)
info
.
SrcCenter
.
X
,
(
int
)
info
.
SrcCenter
.
Y
,
(
int
)
info
.
SrcRadius
};
AlgorithmSender
.
AutoMode
(
manager
,
this
.
BuildPackage
(
AlgorithmAutoModeCmd
.
manual_correction
,
null
,
correction_area
),
option
);
}
}
/// <summary>
/// <summary>
...
@@ -148,8 +167,9 @@ namespace VIZ.H2V.Module
...
@@ -148,8 +167,9 @@ namespace VIZ.H2V.Module
/// </summary>
/// </summary>
/// <param name="cmd">命令<see cref="AlgorithmAutoModeCmd"/></param>
/// <param name="cmd">命令<see cref="AlgorithmAutoModeCmd"/></param>
/// <param name="boarderpoint">边框检测点</param>
/// <param name="boarderpoint">边框检测点</param>
/// <param name="correction_area">手动校准区域</param>
/// <returns>数据包</returns>
/// <returns>数据包</returns>
public
AlgorithmPackage__auto_mode_Tactics
BuildPackage
(
string
cmd
,
AlgorithmInfo_borderpoint
boarderpoint
)
public
AlgorithmPackage__auto_mode_Tactics
BuildPackage
(
string
cmd
,
AlgorithmInfo_borderpoint
boarderpoint
,
List
<
int
>
correction_area
)
{
{
AlgorithmTactics
config
=
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmTactics
.
FindOne
(
p
=>
p
.
ViewKey
==
this
.
Support
.
ViewKey
);
AlgorithmTactics
config
=
ApplicationDomainEx
.
LiteDbContext
.
AlgorithmTactics
.
FindOne
(
p
=>
p
.
ViewKey
==
this
.
Support
.
ViewKey
);
if
(
config
==
null
)
if
(
config
==
null
)
...
@@ -168,6 +188,7 @@ namespace VIZ.H2V.Module
...
@@ -168,6 +188,7 @@ namespace VIZ.H2V.Module
package
.
borderpoint
=
boarderpoint
;
package
.
borderpoint
=
boarderpoint
;
package
.
border_scene
=
config
.
BorderScene
;
package
.
border_scene
=
config
.
BorderScene
;
package
.
border_on
=
config
.
IsBorderEnabled
?
1
:
0
;
package
.
border_on
=
config
.
IsBorderEnabled
?
1
:
0
;
package
.
correction_area
=
correction_area
;
return
package
;
return
package
;
}
}
...
...
VIZ.H2V.Module/NDIView/View/NDIView.xaml
View file @
d24d5195
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/RadioButton/RadioButton_NdiView.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/RadioButton/RadioButton_NdiView.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary.MergedDictionaries>
<fcore:Bool2BoolConverter x:Key="Bool2BoolConverter"></fcore:Bool2BoolConverter>
<fcore:Bool2BoolConverter x:Key="Bool2BoolConverter"></fcore:Bool2BoolConverter>
<fcore:StringAppendConverter x:Key="StringAppendConverter"></fcore:StringAppendConverter>
<resource:NDIViewStatus2BoolConverter x:Key="NDIViewStatus2IsEnabledConverter" TrueListString="Detect,CropRoi"></resource:NDIViewStatus2BoolConverter>
<resource:NDIViewStatus2BoolConverter x:Key="NDIViewStatus2IsEnabledConverter" TrueListString="Detect,CropRoi"></resource:NDIViewStatus2BoolConverter>
<resource:NDIViewStatus2BoolConverter x:Key="NDIViewStatus2IsEnabledConverter_SettingButton" TrueListString="Stop,Detect,CropRoi"></resource:NDIViewStatus2BoolConverter>
<resource:NDIViewStatus2BoolConverter x:Key="NDIViewStatus2IsEnabledConverter_SettingButton" TrueListString="Stop,Detect,CropRoi"></resource:NDIViewStatus2BoolConverter>
<resource:NDIViewStatus2BoolConverter x:Key="NDIViewStatus2IsEnabledConverter_StopButton" TrueListString="WaitSetup,WaitCheckOK,Detect,CropRoi"></resource:NDIViewStatus2BoolConverter>
<resource:NDIViewStatus2BoolConverter x:Key="NDIViewStatus2IsEnabledConverter_StopButton" TrueListString="WaitSetup,WaitCheckOK,Detect,CropRoi"></resource:NDIViewStatus2BoolConverter>
...
@@ -47,6 +48,16 @@
...
@@ -47,6 +48,16 @@
<resource:AlgorithmStrategyType2FootballFieldOrientationConverter x:Key="AlgorithmStrategyType2FootballFieldOrientationConverter"
<resource:AlgorithmStrategyType2FootballFieldOrientationConverter x:Key="AlgorithmStrategyType2FootballFieldOrientationConverter"
StrategyTypeListString="Near,Tactics"></resource:AlgorithmStrategyType2FootballFieldOrientationConverter>
StrategyTypeListString="Near,Tactics"></resource:AlgorithmStrategyType2FootballFieldOrientationConverter>
<resource:AlgorithmStrategyType2FootballFieldHeightConverter x:Key="AlgorithmStrategyType2FootballFieldHeightConverter"
StrategyTypeListString="Near,Tactics" NotContainsHeight="140" ContainsHeight="190">
</resource:AlgorithmStrategyType2FootballFieldHeightConverter>
<!-- 手动校准面板 -->
<resource:NDIViewProperty2VisibilityConverter x:Key="NDIViewProperty2VisibilityConverter_ManualCorrection"
ViewStatusListString="CropRoi"
StrategyModeListString="auto_mode"
StrategyTypeListString="Near,Sixteen,Tactics,Cableway">
</resource:NDIViewProperty2VisibilityConverter>
</ResourceDictionary>
</ResourceDictionary>
</UserControl.Resources>
</UserControl.Resources>
...
@@ -105,8 +116,8 @@
...
@@ -105,8 +116,8 @@
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
</Grid.RowDefinitions>
</Grid.RowDefinitions>
<CheckBox FontSize="16" Content="裁切策略:" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"
<CheckBox FontSize="16" Content="裁切策略:" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"
IsChecked="{Binding Path=IsUseClip,Mode=TwoWay}"
IsChecked="{Binding Path=IsUseClip,Mode=TwoWay}"
Style="{StaticResource CheckBox_NdiView}"></CheckBox>
Style="{StaticResource CheckBox_NdiView}"></CheckBox>
<Rectangle Grid.Row="1" Grid.RowSpan="10" Fill="#ff181d2b"></Rectangle>
<Rectangle Grid.Row="1" Grid.RowSpan="10" Fill="#ff181d2b"></Rectangle>
<Grid Grid.Row="1" IsEnabled="{Binding IsUseClip,Mode=OneWay}">
<Grid Grid.Row="1" IsEnabled="{Binding IsUseClip,Mode=OneWay}">
<Grid.RowDefinitions>
<Grid.RowDefinitions>
...
@@ -157,21 +168,49 @@
...
@@ -157,21 +168,49 @@
</MultiBinding>
</MultiBinding>
</Button.Visibility>
</Button.Visibility>
</Button>
</Button>
<!-- 近景机位 & 16米机位 & 战术机位 ===== 边线检测选择面板 -->
<Border HorizontalAlignment="Center" VerticalAlignment="Bottom"
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
Visibility="{Binding Path=AlgorithmConfig.IsShowBorder,Mode=OneWay,Converter={StaticResource Bool2VisibilityConverter}}">
<Grid.RowDefinitions>
<common:FootballFieldPanel FootballFieldWidth="150" FootballFieldHeight="100"
<RowDefinition Height="50"></RowDefinition>
DataContext="{Binding Path=FootballFieldPanelModel}"
<RowDefinition Height="auto"></RowDefinition>
Orientation="{Binding ElementName=uc,Path=DataContext.StrategyType,Converter={StaticResource AlgorithmStrategyType2FootballFieldOrientationConverter}}">
</Grid.RowDefinitions>
<common:FootballFieldPanel.Visibility>
<MultiBinding Converter="{StaticResource NDIViewProperty2VisibilityConverter_FootballFieldPanel}">
<RadioButton Content="手动校准" Foreground="White" FontSize="20"
Style="{StaticResource RadioButton_NdiView_Tool}"
IsChecked="{Binding Path=ToolPartViewModel.IsManualCorrectionChecked,Mode=TwoWay}"
GroupName="{Binding Path=ViewKey,Converter={StaticResource StringAppendConverter}, ConverterParameter=Tool}"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
<RadioButton.Visibility>
<MultiBinding Converter="{StaticResource NDIViewProperty2VisibilityConverter_ManualCorrection}">
<Binding Path="DataContext.ViewStatus" ElementName="uc"></Binding>
<Binding Path="DataContext.ViewStatus" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyMode" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyMode" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyType" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyType" ElementName="uc"></Binding>
</MultiBinding>
</MultiBinding>
</common:FootballFieldPanel.Visibility>
</RadioButton.Visibility>
</common:FootballFieldPanel>
</RadioButton>
</Border>
<!-- 近景机位 & 16米机位 & 战术机位 ===== 边线检测选择面板 -->
<Border Grid.Row="1"
Visibility="{Binding Path=AlgorithmConfig.IsShowBorder,Mode=OneWay,Converter={StaticResource Bool2VisibilityConverter}}">
<RadioButton Style="{StaticResource RadioButton_NdiView_Tool}"
Height="{Binding ElementName=uc,Path=DataContext.StrategyType,Converter={StaticResource AlgorithmStrategyType2FootballFieldHeightConverter}}"
IsChecked="{Binding Path=ToolPartViewModel.IsSideCheckPolygonChecked,Mode=TwoWay}"
GroupName="{Binding Path=ViewKey,Converter={StaticResource StringAppendConverter}, ConverterParameter=Tool}"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<RadioButton.Visibility>
<MultiBinding Converter="{StaticResource NDIViewProperty2VisibilityConverter_FootballFieldPanel}">
<Binding Path="DataContext.ViewStatus" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyMode" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyType" ElementName="uc"></Binding>
</MultiBinding>
</RadioButton.Visibility>
<common:FootballFieldPanel FootballFieldWidth="150" FootballFieldHeight="100"
DataContext="{Binding Path=FootballFieldPanelModel}"
Orientation="{Binding ElementName=uc,Path=DataContext.StrategyType,Converter={StaticResource AlgorithmStrategyType2FootballFieldOrientationConverter}}">
</common:FootballFieldPanel>
</RadioButton>
</Border>
</Grid>
</Grid>
</Grid>
<!-- 视频区域 -->
<!-- 视频区域 -->
<Border BorderBrush="Transparent" BorderThickness="0" Grid.Row="1" Grid.Column="1">
<Border BorderBrush="Transparent" BorderThickness="0" Grid.Row="1" Grid.Column="1">
...
...
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Command.cs
View file @
d24d5195
...
@@ -128,6 +128,11 @@ namespace VIZ.H2V.Module
...
@@ -128,6 +128,11 @@ namespace VIZ.H2V.Module
SideCheckPolygonPlugin
sideCheckPolygonPlugin
=
new
SideCheckPolygonPlugin
(
view
.
video
);
SideCheckPolygonPlugin
sideCheckPolygonPlugin
=
new
SideCheckPolygonPlugin
(
view
.
video
);
sideCheckPolygonPlugin
.
Click
+=
SideCheckPolygonPlugin_Click
;
sideCheckPolygonPlugin
.
Click
+=
SideCheckPolygonPlugin_Click
;
view
.
video
.
AttachPlugin
(
sideCheckPolygonPlugin
);
view
.
video
.
AttachPlugin
(
sideCheckPolygonPlugin
);
// 手动校准插件
ManualCorrectionPlugin
manualCorrectionPlugin
=
new
ManualCorrectionPlugin
(
view
.
video
);
manualCorrectionPlugin
.
Click
+=
ManualCorrectionPlugin_Click
;
view
.
video
.
AttachPlugin
(
manualCorrectionPlugin
);
}
}
/// <summary>
/// <summary>
...
@@ -151,13 +156,6 @@ namespace VIZ.H2V.Module
...
@@ -151,13 +156,6 @@ namespace VIZ.H2V.Module
return
;
return
;
this
.
AlgorithmControllerDic
[
this
.
StrategyType
].
Tracking
(
e
.
HitTrackingBoxInfo
);
this
.
AlgorithmControllerDic
[
this
.
StrategyType
].
Tracking
(
e
.
HitTrackingBoxInfo
);
// ====================================================================================
// DEBUG
//if (ApplicationDomainEx.IS_DEBUG)
//{
// this.DebugLog = $"点击跟踪框:[{e.HitTrackingBoxInfo.SrcRect.Left}, {e.HitTrackingBoxInfo.SrcRect.Top}, {e.HitTrackingBoxInfo.SrcRect.Right}, {e.HitTrackingBoxInfo.SrcRect.Bottom}]";
//}
}
}
/// <summary>
/// <summary>
...
@@ -165,6 +163,10 @@ namespace VIZ.H2V.Module
...
@@ -165,6 +163,10 @@ namespace VIZ.H2V.Module
/// </summary>
/// </summary>
private
void
SideCheckPolygonPlugin_Click
(
object
sender
,
SideCheckPolygonClickEventArgs
e
)
private
void
SideCheckPolygonPlugin_Click
(
object
sender
,
SideCheckPolygonClickEventArgs
e
)
{
{
// 当前模式需要在边线检测模式下处理
if
(!
this
.
ToolPartViewModel
.
IsSideCheckPolygonChecked
)
return
;
// 边线检测只能在自动裁切时触发
// 边线检测只能在自动裁切时触发
if
(
this
.
StrategyMode
!=
AlgorithmStrategyMode
.
auto_mode
)
if
(
this
.
StrategyMode
!=
AlgorithmStrategyMode
.
auto_mode
)
return
;
return
;
...
@@ -197,16 +199,42 @@ namespace VIZ.H2V.Module
...
@@ -197,16 +199,42 @@ namespace VIZ.H2V.Module
}
}
this
.
AlgorithmControllerDic
[
this
.
StrategyType
].
BorderPoint
(
borderpoint
);
this
.
AlgorithmControllerDic
[
this
.
StrategyType
].
BorderPoint
(
borderpoint
);
}
// ====================================================================================
/// <summary>
// DEBUG
/// 手动校准点击事件
/// </summary>
private
void
ManualCorrectionPlugin_Click
(
object
sender
,
ManualCorrectionClickEventArgs
e
)
{
// 当前需要在手动校准模式下处理
if
(!
this
.
ToolPartViewModel
.
IsManualCorrectionChecked
)
return
;
if
(
ApplicationDomainEx
.
IS_DEBUG
)
// 手动校准只能在自动裁切时触发
{
if
(
this
.
StrategyMode
!=
AlgorithmStrategyMode
.
auto_mode
)
this
.
DebugLog
=
$"点击边线检测点:
{
e
.
SrcPoint
}
"
;
return
;
}
}
// 手动校准只能在当前状态为接收裁切状态时可以触发
if
(
this
.
ViewStatus
!=
NDIViewStatus
.
CropRoi
)
return
;
// 单人模式不需要处理
if
(
this
.
StrategyType
==
AlgorithmStrategyType
.
Single
)
return
;
NDIView
view
=
this
.
GetView
<
NDIView
>();
if
(
view
==
null
)
return
;
ManualCorrectionInfo
info
=
new
ManualCorrectionInfo
();
info
.
SrcCenter
=
new
RawVector2
((
int
)
e
.
SrcPoint
.
X
,
(
int
)
e
.
SrcPoint
.
Y
);
info
.
SrcRadius
=
(
float
)
this
.
AlgorithmConfig
.
ManualCorrectionRadius
;
info
.
FillColor
=
this
.
ManualCorrectionColor
;
// 向算法发送区域信息
this
.
AlgorithmControllerDic
[
this
.
StrategyType
].
ManualCorrection
(
info
);
// 绘制区域信息
view
.
video
.
UpdateManualCorrection
(
info
);
}
#
endregion
#
endregion
...
...
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Message.cs
View file @
d24d5195
...
@@ -158,6 +158,9 @@ namespace VIZ.H2V.Module
...
@@ -158,6 +158,9 @@ namespace VIZ.H2V.Module
// 更新边线检测框
// 更新边线检测框
this
.
OnAlgorithmMessage__crop_roi__borderline
(
msg
,
renderInfo
,
view
);
this
.
OnAlgorithmMessage__crop_roi__borderline
(
msg
,
renderInfo
,
view
);
// 更新手动校准区域
this
.
OnAlgorithmMessage__crop_roi__correction_area
(
msg
,
renderInfo
,
view
);
// 更新算法帧率统计
// 更新算法帧率统计
this
.
AlgorithmFPS
.
CalcFps
();
this
.
AlgorithmFPS
.
CalcFps
();
}
}
...
@@ -283,6 +286,30 @@ namespace VIZ.H2V.Module
...
@@ -283,6 +286,30 @@ namespace VIZ.H2V.Module
}
}
/// <summary>
/// <summary>
/// 裁切信息更新 -- 更新手动校准区域
/// </summary>
/// <param name="msg">裁切消息</param>
/// <param name="renderInfo">渲染信息</param>
/// <param name="view">视图</param>
private
void
OnAlgorithmMessage__crop_roi__correction_area
(
AlgorithmMessage__crop_roi
msg
,
VideoRenderInfo
renderInfo
,
NDIView
view
)
{
if
(
msg
.
correction_area
==
null
||
msg
.
correction_area
.
Count
!=
3
)
{
view
.
video
.
ClearManualCorrection
();
return
;
}
ManualCorrectionInfo
manualCorrectionInfo
=
new
ManualCorrectionInfo
();
manualCorrectionInfo
.
SrcCenter
=
new
RawVector2
(
msg
.
correction_area
[
0
],
msg
.
correction_area
[
1
]);
manualCorrectionInfo
.
SrcRadius
=
msg
.
correction_area
[
2
];
manualCorrectionInfo
.
FillColor
=
this
.
ManualCorrectionColor
;
view
.
video
.
UpdateManualCorrection
(
manualCorrectionInfo
);
}
/// <summary>
/// 构建边线多边形信息
/// 构建边线多边形信息
/// </summary>
/// </summary>
/// <param name="data">数据</param>
/// <param name="data">数据</param>
...
...
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Property.cs
View file @
d24d5195
...
@@ -59,6 +59,11 @@ namespace VIZ.H2V.Module
...
@@ -59,6 +59,11 @@ namespace VIZ.H2V.Module
private
readonly
double
VIDEO_SIDE_CHECK_POLYGON_OPACITY
=
ApplicationDomainEx
.
IniStorage
.
GetValue
<
VideoConfig
,
double
>(
p
=>
p
.
VIDEO_SIDE_CHECK_POLYGON_OPACITY
);
private
readonly
double
VIDEO_SIDE_CHECK_POLYGON_OPACITY
=
ApplicationDomainEx
.
IniStorage
.
GetValue
<
VideoConfig
,
double
>(
p
=>
p
.
VIDEO_SIDE_CHECK_POLYGON_OPACITY
);
/// <summary>
/// <summary>
/// 手动校准区域透明度
/// </summary>
private
readonly
double
VIDEO_MANUAL_CORRECTION_OPACITY
=
ApplicationDomainEx
.
IniStorage
.
GetValue
<
VideoConfig
,
double
>(
p
=>
p
.
VIDEO_MANUAL_CORRECTION_OPACITY
);
/// <summary>
/// 是否显示目标框
/// 是否显示目标框
/// </summary>
/// </summary>
private
readonly
bool
ALGORITHM_IS_SHOW_TARGET_BOX
=
ApplicationDomainEx
.
IniStorage
.
GetValue
<
AlgorithmConfig
,
bool
>(
p
=>
p
.
ALGORITHM_IS_SHOW_TARGET_BOX
);
private
readonly
bool
ALGORITHM_IS_SHOW_TARGET_BOX
=
ApplicationDomainEx
.
IniStorage
.
GetValue
<
AlgorithmConfig
,
bool
>(
p
=>
p
.
ALGORITHM_IS_SHOW_TARGET_BOX
);
...
@@ -84,6 +89,11 @@ namespace VIZ.H2V.Module
...
@@ -84,6 +89,11 @@ namespace VIZ.H2V.Module
/// </summary>
/// </summary>
private
RawColor4
BorderSceneColor
;
private
RawColor4
BorderSceneColor
;
/// <summary>
/// 人工校准填充颜色
/// </summary>
private
RawColor4
ManualCorrectionColor
;
// ======================================================================================
// ======================================================================================
// === Controller ===
// === Controller ===
// ======================================================================================
// ======================================================================================
...
@@ -483,6 +493,20 @@ namespace VIZ.H2V.Module
...
@@ -483,6 +493,20 @@ namespace VIZ.H2V.Module
#
endregion
#
endregion
#
region
ToolPartViewModel
--
工具部分视图模型
private
NDIViewToolPartViewModel
toolPartViewModel
=
new
NDIViewToolPartViewModel
();
/// <summary>
/// 工具部分视图模型
/// </summary>
public
NDIViewToolPartViewModel
ToolPartViewModel
{
get
{
return
toolPartViewModel
;
}
set
{
toolPartViewModel
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ToolPartViewModel
));
}
}
#
endregion
#
region
DebugLog
--
调试日志
#
region
DebugLog
--
调试日志
private
string
debugLog
;
private
string
debugLog
;
...
...
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.cs
View file @
d24d5195
...
@@ -282,6 +282,10 @@ namespace VIZ.H2V.Module
...
@@ -282,6 +282,10 @@ namespace VIZ.H2V.Module
RawColor4
borderSceneColor
=
SharpDxColorHelper
.
FromString
(
config
.
BorderSceneColor
);
RawColor4
borderSceneColor
=
SharpDxColorHelper
.
FromString
(
config
.
BorderSceneColor
);
borderSceneColor
.
A
=
(
float
)
this
.
VIDEO_SIDE_CHECK_POLYGON_OPACITY
;
borderSceneColor
.
A
=
(
float
)
this
.
VIDEO_SIDE_CHECK_POLYGON_OPACITY
;
this
.
BorderSceneColor
=
borderSceneColor
;
this
.
BorderSceneColor
=
borderSceneColor
;
RawColor4
manualCorrectionColor
=
SharpDxColorHelper
.
FromString
(
config
.
ManualCorrectionColor
);
manualCorrectionColor
.
A
=
(
float
)
this
.
VIDEO_MANUAL_CORRECTION_OPACITY
;
this
.
ManualCorrectionColor
=
manualCorrectionColor
;
}
}
/// <summary>
/// <summary>
...
...
VIZ.H2V.Module/NDIView/VieweModel/Part/NDIViewToolPartViewModel.cs
0 → 100644
View file @
d24d5195
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VIZ.Framework.Core
;
namespace
VIZ.H2V.Module
{
/// <summary>
/// NDI视图工具部分视图模型
/// </summary>
public
class
NDIViewToolPartViewModel
:
ModelBase
{
#
region
IsManualCorrectionChecked
--
手动校准是否选中
private
bool
isManualCorrectionChecked
=
true
;
/// <summary>
/// 手动校准是否选中
/// </summary>
public
bool
IsManualCorrectionChecked
{
get
{
return
isManualCorrectionChecked
;
}
set
{
isManualCorrectionChecked
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
IsManualCorrectionChecked
));
}
}
#
endregion
#
region
IsSideCheckPolygonChecked
--
边线检测是否选中
private
bool
isSideCheckPolygonChecked
;
/// <summary>
/// 边线检测是否选中
/// </summary>
public
bool
IsSideCheckPolygonChecked
{
get
{
return
isSideCheckPolygonChecked
;
}
set
{
isSideCheckPolygonChecked
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
IsSideCheckPolygonChecked
));
}
}
#
endregion
}
}
VIZ.H2V.Module/SystemSetting/View/StyleSettingPanelView.xaml
View file @
d24d5195
...
@@ -37,6 +37,7 @@
...
@@ -37,6 +37,7 @@
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
</Grid.RowDefinitions>
<!-- 剪切框颜色 -->
<!-- 剪切框颜色 -->
...
@@ -72,9 +73,18 @@
...
@@ -72,9 +73,18 @@
<TextBlock Text="边线检测区域颜色" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="2"></TextBlock>
<TextBlock Text="边线检测区域颜色" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="2"></TextBlock>
<fcommon:ColorPickButton Grid.Column="1" Color="{Binding Path=BorderSceneColor,Mode=TwoWay}" Height="30" Grid.Row="2"></fcommon:ColorPickButton>
<fcommon:ColorPickButton Grid.Column="1" Color="{Binding Path=BorderSceneColor,Mode=TwoWay}" Height="30" Grid.Row="2"></fcommon:ColorPickButton>
</Grid>
</Grid>
<!-- 手动校准颜色 -->
<Grid Grid.Row="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动校准颜色" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="2"></TextBlock>
<fcommon:ColorPickButton Grid.Column="1" Color="{Binding Path=ManualCorrectionColor,Mode=TwoWay}" Height="30" Grid.Row="2"></fcommon:ColorPickButton>
</Grid>
<!-- 裁切框移动 -->
<!-- 裁切框移动 -->
<TextBlock Text="裁切框移动" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="
3
"></TextBlock>
<TextBlock Text="裁切框移动" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="
4
"></TextBlock>
<Grid Grid.Row="
4
">
<Grid Grid.Row="
5
">
<Grid.RowDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
...
...
VIZ.H2V.Module/SystemSetting/ViewModel/StyleSettingPanelViewModel.cs
View file @
d24d5195
...
@@ -90,6 +90,20 @@ namespace VIZ.H2V.Module
...
@@ -90,6 +90,20 @@ namespace VIZ.H2V.Module
#
endregion
#
endregion
#
region
ManualCorrectionColor
--
手动校准颜色
private
Color
manualCorrectionColor
;
/// <summary>
/// 手动校准颜色
/// </summary>
public
Color
ManualCorrectionColor
{
get
{
return
manualCorrectionColor
;
}
set
{
manualCorrectionColor
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ManualCorrectionColor
));
}
}
#
endregion
#
region
ManualSmoothCoeff
--
手动裁切平滑系数
#
region
ManualSmoothCoeff
--
手动裁切平滑系数
private
double
manualSmoothCoeff
;
private
double
manualSmoothCoeff
;
...
@@ -129,6 +143,7 @@ namespace VIZ.H2V.Module
...
@@ -129,6 +143,7 @@ namespace VIZ.H2V.Module
this
.
ClipExceptionColor
=
(
Color
)
ColorConverter
.
ConvertFromString
(
this
.
SystemConfig
.
ClipExceptionColor
);
this
.
ClipExceptionColor
=
(
Color
)
ColorConverter
.
ConvertFromString
(
this
.
SystemConfig
.
ClipExceptionColor
);
this
.
ClipManualColor
=
(
Color
)
ColorConverter
.
ConvertFromString
(
this
.
SystemConfig
.
ClipManualColor
);
this
.
ClipManualColor
=
(
Color
)
ColorConverter
.
ConvertFromString
(
this
.
SystemConfig
.
ClipManualColor
);
this
.
BorderSceneColor
=
(
Color
)
ColorConverter
.
ConvertFromString
(
this
.
SystemConfig
.
BorderSceneColor
);
this
.
BorderSceneColor
=
(
Color
)
ColorConverter
.
ConvertFromString
(
this
.
SystemConfig
.
BorderSceneColor
);
this
.
ManualCorrectionColor
=
(
Color
)
ColorConverter
.
ConvertFromString
(
this
.
SystemConfig
.
ManualCorrectionColor
);
this
.
ManualSmoothCoeff
=
this
.
SystemConfig
.
ManualSmoothCoeff
;
this
.
ManualSmoothCoeff
=
this
.
SystemConfig
.
ManualSmoothCoeff
;
}
}
...
@@ -157,6 +172,9 @@ namespace VIZ.H2V.Module
...
@@ -157,6 +172,9 @@ namespace VIZ.H2V.Module
if
(
this
.
BorderSceneColor
.
ToString
()
!=
this
.
SystemConfig
.
BorderSceneColor
)
if
(
this
.
BorderSceneColor
.
ToString
()
!=
this
.
SystemConfig
.
BorderSceneColor
)
return
true
;
return
true
;
if
(
this
.
ManualCorrectionColor
.
ToString
()
!=
this
.
SystemConfig
.
ManualCorrectionColor
)
return
true
;
if
(
this
.
ManualSmoothCoeff
!=
this
.
SystemConfig
.
ManualSmoothCoeff
)
if
(
this
.
ManualSmoothCoeff
!=
this
.
SystemConfig
.
ManualSmoothCoeff
)
return
true
;
return
true
;
...
@@ -174,6 +192,7 @@ namespace VIZ.H2V.Module
...
@@ -174,6 +192,7 @@ namespace VIZ.H2V.Module
this
.
SystemConfig
.
ClipExceptionColor
=
this
.
ClipExceptionColor
.
ToString
();
this
.
SystemConfig
.
ClipExceptionColor
=
this
.
ClipExceptionColor
.
ToString
();
this
.
SystemConfig
.
ClipManualColor
=
this
.
ClipManualColor
.
ToString
();
this
.
SystemConfig
.
ClipManualColor
=
this
.
ClipManualColor
.
ToString
();
this
.
SystemConfig
.
BorderSceneColor
=
this
.
BorderSceneColor
.
ToString
();
this
.
SystemConfig
.
BorderSceneColor
=
this
.
BorderSceneColor
.
ToString
();
this
.
SystemConfig
.
ManualCorrectionColor
=
this
.
ManualCorrectionColor
.
ToString
();
this
.
SystemConfig
.
ManualSmoothCoeff
=
this
.
ManualSmoothCoeff
;
this
.
SystemConfig
.
ManualSmoothCoeff
=
this
.
ManualSmoothCoeff
;
ApplicationDomainEx
.
LiteDbContext
.
SystemConfig
.
Update
(
this
.
SystemConfig
);
ApplicationDomainEx
.
LiteDbContext
.
SystemConfig
.
Update
(
this
.
SystemConfig
);
...
...
VIZ.H2V.Module/VIZ.H2V.Module.csproj
View file @
d24d5195
...
@@ -246,6 +246,7 @@
...
@@ -246,6 +246,7 @@
<Compile Include="NDIView\VieweModel\NDIViewModel.Message.cs" />
<Compile Include="NDIView\VieweModel\NDIViewModel.Message.cs" />
<Compile Include="NDIView\VieweModel\NDIViewModel.Property.cs" />
<Compile Include="NDIView\VieweModel\NDIViewModel.Property.cs" />
<Compile Include="NDIView\VieweModel\NDIViewModel.cs" />
<Compile Include="NDIView\VieweModel\NDIViewModel.cs" />
<Compile Include="NDIView\VieweModel\Part\NDIViewToolPartViewModel.cs" />
<Compile Include="Setup\Provider\AppSetup_Algorithm.cs" />
<Compile Include="Setup\Provider\AppSetup_Algorithm.cs" />
<Compile Include="Setup\Provider\AppSetup_Recording.cs" />
<Compile Include="Setup\Provider\AppSetup_Recording.cs" />
<Compile Include="Setup\Provider\AppSetup_InitUDP.cs" />
<Compile Include="Setup\Provider\AppSetup_InitUDP.cs" />
...
...
VIZ.H2V.Storage/LiteDB/Algorithm/AlgorithmBase.cs
View file @
d24d5195
...
@@ -48,5 +48,10 @@ namespace VIZ.H2V.Storage
...
@@ -48,5 +48,10 @@ namespace VIZ.H2V.Storage
/// 是否显示边线检测
/// 是否显示边线检测
/// </summary>
/// </summary>
public
bool
IsShowBorder
{
get
;
set
;
}
=
true
;
public
bool
IsShowBorder
{
get
;
set
;
}
=
true
;
/// <summary>
/// 手动校准半径
/// </summary>
public
double
ManualCorrectionRadius
{
get
;
set
;
}
=
200
;
}
}
}
}
VIZ.H2V.Storage/LiteDB/System/SystemConfig.cs
View file @
d24d5195
...
@@ -35,7 +35,12 @@ namespace VIZ.H2V.Storage
...
@@ -35,7 +35,12 @@ namespace VIZ.H2V.Storage
/// <summary>
/// <summary>
/// 边线检测区域颜色
/// 边线检测区域颜色
/// </summary>
/// </summary>
public
string
BorderSceneColor
{
get
;
set
;
}
=
"#FFFF000000"
;
public
string
BorderSceneColor
{
get
;
set
;
}
=
"#FFFF0000"
;
/// <summary>
/// 手动校准区域颜色
/// </summary>
public
string
ManualCorrectionColor
{
get
;
set
;
}
=
"#FFFF0000"
;
/// <summary>
/// <summary>
/// 手动裁切平滑系数
/// 手动裁切平滑系数
...
...
VIZ.H2V.UdpTestTool/ViewModel/MainViewModel.cs
View file @
d24d5195
...
@@ -26,7 +26,7 @@ namespace VIZ.H2V.UdpTestTool
...
@@ -26,7 +26,7 @@ namespace VIZ.H2V.UdpTestTool
// 设置默认值
// 设置默认值
this
.
check_ok
=
$"
{{
'
signal
':'
checked_ok
','
id
':'
{
UdpTestApplicationDomain
.
AlgorithmID
}
'
}}
"
;
this
.
check_ok
=
$"
{{
'
signal
':'
checked_ok
','
id
':'
{
UdpTestApplicationDomain
.
AlgorithmID
}
'
}}
"
;
this
.
detect
=
$"
{{
'
signal
':'
detect
','
id
':'
{
UdpTestApplicationDomain
.
AlgorithmID
}
'
,
'
bboxes
'
:
[[
100
,
100
,
200
,
300
],[
400
,
200
,
600
,
600
]]
}}
"
;
this
.
detect
=
$"
{{
'
signal
':'
detect
','
id
':'
{
UdpTestApplicationDomain
.
AlgorithmID
}
'
,
'
bboxes
'
:
[[
100
,
100
,
200
,
300
],[
400
,
200
,
600
,
600
]]
}}
"
;
this
.
crop_roi
=
$"
{{
'
signal
':'
crop_roi
','
id
':'
{
UdpTestApplicationDomain
.
AlgorithmID
}
'
,
'
roi
'
:
[
400
,
0
,
1200
,
1080
],
'
target_bbox
'
:
[
500
,
100
,
600
,
400
],
'
borderline
'
:{{
'
up
'
:
[[
100
,
100
],[
500
,
200
],[
300
,
400
],[
200
,
100
],[
100
,
100
]]
}}
}}
"
;
this
.
crop_roi
=
$"
{{
'
signal
':'
crop_roi
','
id
':'
{
UdpTestApplicationDomain
.
AlgorithmID
}
'
,
'
roi
'
:
[
400
,
0
,
1200
,
1080
],
'
target_bbox
'
:
[
500
,
100
,
600
,
400
],
'
borderline
'
:{{
'
up
'
:
[[
100
,
100
],[
500
,
200
],[
300
,
400
],[
200
,
100
],[
100
,
100
]]
}}
,
'
correction_area
'
:[
200
,
200
,
200
]
}}
"
;
// 注册命令
// 注册命令
this
.
SendCommand_check_ok
=
new
VCommand
(
this
.
Send_check_ok
);
this
.
SendCommand_check_ok
=
new
VCommand
(
this
.
Send_check_ok
);
...
...
VIZ.H2V/config/config.ini
View file @
d24d5195
...
@@ -42,6 +42,8 @@ VIDEO_CLIP_BOX_BORDER_COLOR=#FFFF0000
...
@@ -42,6 +42,8 @@ VIDEO_CLIP_BOX_BORDER_COLOR=#FFFF0000
VIDEO_CLIP_BOX_MASK_COLOR=#88000000
VIDEO_CLIP_BOX_MASK_COLOR=#88000000
;视频边线检测多边形区域透明度
;视频边线检测多边形区域透明度
VIDEO_SIDE_CHECK_POLYGON_OPACITY
=
0.15
VIDEO_SIDE_CHECK_POLYGON_OPACITY
=
0.15
;视频人工校准区域透明度
VIDEO_MANUAL_CORRECTION_OPACITY
=
0.2
; ============================================================
; ============================================================
; === Navigation3D ===
; === Navigation3D ===
; ============================================================
; ============================================================
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment