123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <Window x:Class="MaskPostProcessTest.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:MaskPostProcessTest"
- mc:Ignorable="d"
- Title="MainWindow" Height="600" Width="1000">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- <RowDefinition Height="40"/>
- <RowDefinition Height="40"/>
- <RowDefinition Height="40"/>
- <RowDefinition Height="40"/>
- <RowDefinition Height="40"/>
- <RowDefinition Height="40"/>
- </Grid.RowDefinitions>
- <Grid Grid.Row="0">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="0.5*"/>
- <ColumnDefinition Width="0.5*"/>
- </Grid.ColumnDefinitions>
- <Grid Grid.Column="0" x:Name="GridOrigImg" SizeChanged="Canvas_SizeChanged">
- <Canvas x:Name="MyCanvas" MouseLeftButtonDown="Canvas_MouseLeftBtnDown" MouseLeftButtonUp="Canvas_MouseLeftBtnUp" MouseMove="Canvas_MouseMove">
- <Image x:Name="ImgOrig" Stretch="Fill">
- <Image.RenderTransform>
- <ScaleTransform x:Name="OrigImgScaleTramsform"/>
- </Image.RenderTransform>
- </Image>
- </Canvas>
- </Grid>
- <Grid Grid.Column="1">
- <Image x:Name="ImgDst" Margin="4,4,4,4" Source="{Binding}"/>
- </Grid>
- </Grid>
- <Grid Grid.Row="1">
- <StackPanel Orientation="Horizontal">
- <TextBlock Margin="4,4,4,4" Text="宽:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxWidth" Margin="4,4,4,4" Width="40" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="高:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxHeight" Margin="4,4,4,4" Width="40" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <Button Margin="4,4,4,4" Content="创建一幅空的mask图像" Width="160" FontSize="12" Click="BtnGenEmptyMaskClicked"/>
- <Button Margin="4,4,4,4" Content="加载一幅图像" Width="100" FontSize="12" Click="BtnLoadOneImageClicked"/>
- <TextBlock Margin="4,4,4,4" Text="核尺寸:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxKernelSize" Margin="4,4,4,4" Width="40" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <Button Margin="4,4,4,4" Content="按绘制的轮廓进行抠图" Width="160" FontSize="12" Click="BtnGenMaskedImageClicked"/>
- </StackPanel>
- </Grid>
- <Grid Grid.Row="2">
- <StackPanel Orientation="Horizontal">
- <Button Margin="4,4,4,4" Content="根据绘制的轮廓生成mask" Width="160" FontSize="12" Click="BtnGenMaskClicked"/>
- <TextBlock Margin="4,4,4,4" Text="面积:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxContourArea" Width="40" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="个数:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxContourNum" Margin="4,4,4,4" Width="40" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <Button Margin="4,4,4,4" Content="对mask图像进行筛选" Width="160" FontSize="12" Click="BtnPostProcessOneMaskImgClicked"/>
- </StackPanel>
- </Grid>
- <Grid Grid.Row="3">
- <StackPanel Orientation="Horizontal">
- <ComboBox x:Name="ComboBoxContours" Margin="4,4,4,4" Width="120" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"
- SelectionChanged="ComboBoxSelectionChanged"/>
- <TextBlock Margin="4,4,4,4" Text="优先级" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxContourPriority" Margin="4,4,4,4" Width="40" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="Label" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxContourLabel" Margin="4,4,4,4" Width="40" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="Confidence" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxContourConfidence" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <Button Margin="4,4,4,4" Content="设置优先级" Width="100" FontSize="12" Click="BtnSetPriorityClicked"/>
- <TextBlock Margin="4,4,4,4" Text="核尺寸:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxKernelSizeMerge" Margin="4,4,4,4" Width="40" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <Button Margin="4,4,4,4" Content="根据优先级对轮廓进行合并" Width="160" FontSize="12" Click="BtnPostProcessContourMergeClicked"/>
- </StackPanel>
- </Grid>
- <Grid Grid.Row="4">
- <StackPanel Orientation="Horizontal">
- <TextBlock Margin="4,4,4,4" Text="轮廓组" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxContourGroup" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <Button Margin="4,4,4,4" Content="设置轮廓组" Width="100" FontSize="12" Click="BtnSetGroupClicked"/>
- <Button Margin="4,4,4,4" Content="计算所绘制轮廓的重合率" Width="160" FontSize="12" Click="BtnPostProcessIntersectionAreaClicked"/>
- <TextBlock Margin="4,4,4,4" Text="重合率IOU:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxIntersectionIouRatio" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="IOS1(1交2比上1):" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxIntersectionIos1Ratio" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="IOS2(1交2比上2):" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxIntersectionIos2Ratio" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- </StackPanel>
- </Grid>
- <Grid Grid.Row="5">
- <StackPanel Orientation="Horizontal">
- <TextBlock Margin="4,4,4,4" Text="轮廓1" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <ComboBox x:Name="ComboBoxContoursSelect1" Margin="4,4,4,4" Width="120" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"
- SelectionChanged="ComboBoxSelectionChanged"/>
- <TextBlock Margin="4,4,4,4" Text="轮廓2" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <ComboBox x:Name="ComboBoxContoursSelect2" Margin="4,4,4,4" Width="120" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"
- SelectionChanged="ComboBoxSelectionChanged"/>
- <Button Margin="4,4,4,4" Content="计算所选轮廓质心与质心间距离" Width="160" FontSize="12" Click="BtnPostProcessCentroidDistanceClicked"/>
- <TextBlock Margin="4,4,4,4" Text="轮廓1质心" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxCenter1" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="轮廓2质心:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxCenter2" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="两质心间距离:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxCentroidDistance" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- </StackPanel>
- </Grid>
- <Grid Grid.Row="6">
- <StackPanel Orientation="Horizontal">
- <TextBlock Margin="4,4,4,4" Text="轮廓1" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <ComboBox x:Name="ComboBoxContourOne" Margin="4,4,4,4" Width="120" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"
- SelectionChanged="ComboBoxSelectionChanged"/>
- <TextBlock Margin="4,4,4,4" Text="轮廓2" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <ComboBox x:Name="ComboBoxContourTwo" Margin="4,4,4,4" Width="120" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"
- SelectionChanged="ComboBoxSelectionChanged"/>
- <Button Margin="4,4,4,4" Content="计算两个轮廓的最短距离" Width="160" FontSize="12" Click="BtnPostProcessShortestDistanceClicked"/>
- <TextBlock Margin="4,4,4,4" Text="最短距离:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxShortestDistance" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="X方向的距离" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxContourXDirectionDistance" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBlock Margin="4,4,4,4" Text="Y方向的距离:" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <TextBox x:Name="TextBoxContourYDirectionDistance" Margin="4,4,4,4" Width="80" FontSize="12" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- </StackPanel>
- </Grid>
- </Grid>
- </Window>
|