mirror of
https://github.com/riegera2412/UVtools.git
synced 2026-07-08 17:42:31 +02:00
957729525d
- **Tool - Morph:** - (Add) Operator: White tophat - Removes small isolated pixels and only return its affected pixels (Image - Noise removal) - (Add) Operator: Black tophat - Closes small holes inside the objects and only return its affected pixels (Gap closing - Image) - (Add) Operator: Hit or miss - Finds pixels in a given kernel pattern - (Remove) Operator: 'Isolate features' as that is the same as the 'White tophat' and is already inbuilt into OpenCV - **Kernels:** - (Add) Option: Use dynamic kernel to enhancement the quality of the borders (#367) - (Add) Kernels are now saved with the operation profile - **PrusaSlicer:** - (Add) Support to slice files to be converted for encrypted CTB format - (Add) Printer: Elegoo Mars 3 (#370) - (Add) Printer: EPAX E10 5K - (Add) Printer: EPAX X10 5K - (Add) Printer: Phrozen Sonic Mini 8K - (Add) Printer: Phrozen Sonic Mega 8K - (Fix) Printer: AnyCubic Photon Mono 4K - display size (#369) - (Fix) Printer: AnyCubic Photon Mono X 6K - display size (#369) - (Add) Tool - Double exposure: Kernel configuration - (Add) Tool - Pixel arithmetic: Kernel configuration - (Add) Calibration - Elephant foot: Use dynamic kernel to enhancement the quality of the borders (#367) - (Fix) Calibrate - Elephant foot: Redo (Ctrl + Z) the operation was crashing the application - (Fix) CTB, PHZ, FDG: Converting files with a null machine name would cause a exception - (Fix) Anycubic files: Bottom lift and speed were showing default values instead of real used value
90 lines
4.2 KiB
XML
90 lines
4.2 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
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"
|
|
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="300"
|
|
x:Class="UVtools.WPF.Controls.KernelControl">
|
|
|
|
|
|
<StackPanel Orientation="Vertical" Spacing="10">
|
|
|
|
<CheckBox IsChecked="{Binding Kernel.UseDynamicKernel}"
|
|
Content="Use dynamic kernel to enhancement the quality of the borders"/>
|
|
|
|
<Grid RowDefinitions="Auto" ColumnDefinitions="*,10,Auto" IsEnabled="{Binding !Kernel.UseDynamicKernel}">
|
|
<TextBox Grid.Row="0" Grid.Column="0"
|
|
ToolTip.Tip="The kernel or structuring element used to probe the input image.
|
|

A structuring element is a matrix that identifies the pixel in the image being processed and defines the neighborhood used in the processing of each pixel."
|
|
VerticalAlignment="Stretch"
|
|
MaxHeight="300"
|
|
MaxWidth="700"
|
|
AcceptsReturn="True"
|
|
Watermark="Kernel matrix"
|
|
UseFloatingWatermark="True"
|
|
ScrollViewer.HorizontalScrollBarVisibility="Auto"
|
|
ScrollViewer.VerticalScrollBarVisibility="Auto"
|
|
TextWrapping="NoWrap"
|
|
Text="{Binding Kernel.MatrixText}"/>
|
|
|
|
<Grid
|
|
Grid.Column="2"
|
|
RowDefinitions="Auto,10,Auto,10,Auto,20,Auto"
|
|
ColumnDefinitions="Auto,10,Auto,10,Auto,10,Auto">
|
|
|
|
<TextBlock HorizontalAlignment="Right" VerticalAlignment="Center" Text="Shape:"/>
|
|
<ComboBox Grid.Row="0" Grid.ColumnSpan="5" Grid.Column="2"
|
|
SelectedItem="{Binding Kernel.KernelShape}"
|
|
Items="{Binding Kernel.KernelShapes}"
|
|
Width="160"/>
|
|
|
|
<TextBlock Grid.Column="0" Grid.Row="2"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
Text="Size:"/>
|
|
<NumericUpDown Grid.Column="2" Grid.Row="2"
|
|
VerticalAlignment="Center"
|
|
Minimum="2"
|
|
Value="{Binding Kernel.MatrixWidth}"/>
|
|
<TextBlock Grid.Column="4" Grid.Row="2"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Text="x"/>
|
|
<NumericUpDown Grid.Column="6" Grid.Row="2"
|
|
VerticalAlignment="Center"
|
|
Minimum="2"
|
|
Value="{Binding Kernel.MatrixHeight}"/>
|
|
|
|
<TextBlock Grid.Column="0" Grid.Row="4"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
Text="Anchor X:"/>
|
|
<NumericUpDown Grid.Column="2" Grid.Row="4"
|
|
VerticalAlignment="Center"
|
|
Minimum="-1"
|
|
ToolTip.Tip="X coordinate of the kenel origin, -1 for auto-center."
|
|
Value="{Binding Kernel.AnchorX}"/>
|
|
<TextBlock Grid.Column="4" Grid.Row="4"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
Text="Y:"/>
|
|
<NumericUpDown Grid.Column="6" Grid.Row="4"
|
|
VerticalAlignment="Center"
|
|
Minimum="-1"
|
|
ToolTip.Tip="Y coordinate of the kernel origin, -1 for auto-center."
|
|
Value="{Binding Kernel.AnchorY}"/>
|
|
|
|
<Button Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="3"
|
|
Padding="10"
|
|
Content="Generate"
|
|
Command="{Binding GenerateKernel}"/>
|
|
|
|
<Button Grid.Column="4" Grid.Row="6" Grid.ColumnSpan="3"
|
|
Padding="10"
|
|
Content="Reset"
|
|
Command="{Binding Kernel.ResetKernel}"/>
|
|
</Grid>
|
|
|
|
</Grid>
|
|
</StackPanel>
|
|
</UserControl>
|