This commit is contained in:
meelstorm
2025-10-20 08:46:31 +02:00
parent dec036dbcf
commit 745a15b162
7 changed files with 26 additions and 20 deletions

View File

@@ -18,14 +18,16 @@ namespace Lindt.Candybox.Demo
public partial class MapEditor : MaterialForm public partial class MapEditor : MaterialForm
{ {
private readonly Mat _original; private readonly Mat _original;
private readonly HistoRecipe _runningRecipe;
private HistoRecipe _recipe; private HistoRecipe _recipe;
public MapEditor(Mat original, HistoRecipe currentRecipe) public MapEditor(Mat original, HistoRecipe runningRecipe)
{ {
_original = original; _original = original;
_runningRecipe = runningRecipe;
InitializeComponent(); InitializeComponent();
_recipe = currentRecipe.Clone(); _recipe = runningRecipe.Clone();
_recipe.ProcessImage(original); _recipe.ProcessImage(original);
@@ -124,7 +126,7 @@ namespace Lindt.Candybox.Demo
_recipe.LearnedParameters.Configuration.MemoryBuffer = (int)udMemoryBuffer.Value; _recipe.LearnedParameters.Configuration.MemoryBuffer = (int)udMemoryBuffer.Value;
_recipe.LearnContours(contours.ToArray(), _original, maskControl1.VectorLines.Select(x => x.Scale(512f / 1800f, 512f / 1408f).Sub(_recipe.BlisterCenter)).ToList(),relearn:true); _recipe.LearnContours(contours.ToArray(), _original, maskControl1.VectorLines.Select(x => x.Scale(512f / 1800f, 512f / 1408f).Sub(_recipe.BlisterCenter)).ToList(),relearn:true);
_runningRecipe.Reload();
DialogResult = DialogResult.OK; DialogResult = DialogResult.OK;
} }
private void materialRaisedButton1_Click(object sender, EventArgs e) private void materialRaisedButton1_Click(object sender, EventArgs e)

View File

@@ -47,10 +47,13 @@ namespace CandyboxPlugin.Recipe
public void Reload() public void Reload()
{ {
if (File.Exists(_configurationPath)) lock (_lockObject)
{ {
_learnedParameters = if (File.Exists(_configurationPath))
JsonSerializer.Deserialize<LearningParameters>(File.ReadAllText(_configurationPath)); {
_learnedParameters =
JsonSerializer.Deserialize<LearningParameters>(File.ReadAllText(_configurationPath));
}
} }
} }

View File

@@ -26,6 +26,7 @@ namespace VisionBuilder.UI.Statistics
private string _fileName; private string _fileName;
private string _directoryPath; private string _directoryPath;
private int _total = 0; private int _total = 0;
private int _errors = 0;
private const string BY_EVENTS_FILE_NAME = "statistics_by_events.csv"; private const string BY_EVENTS_FILE_NAME = "statistics_by_events.csv";
private const string MONTHLY_FILE_NAME = "statistics_month.csv"; private const string MONTHLY_FILE_NAME = "statistics_month.csv";
@@ -79,6 +80,7 @@ namespace VisionBuilder.UI.Statistics
_total++; _total++;
if (obj.HasError) if (obj.HasError)
{ {
_errors++;
RecordBadImage(obj.ErrorNames.ToArray()); RecordBadImage(obj.ErrorNames.ToArray());
} }
sw.Stop(); sw.Stop();
@@ -89,6 +91,7 @@ namespace VisionBuilder.UI.Statistics
{ {
_startTime = obj.SessionStarted; _startTime = obj.SessionStarted;
_total = 0; _total = 0;
_errors= 0;
_currentRecipe = obj.RecipeName; _currentRecipe = obj.RecipeName;
_fileName = BY_EVENTS_FILE_NAME; _fileName = BY_EVENTS_FILE_NAME;
_directoryPath = PathSettingsUtils.ConvertVariables(_settings.PathTemplate, _startTime, _startTime, _directoryPath = PathSettingsUtils.ConvertVariables(_settings.PathTemplate, _startTime, _startTime,
@@ -155,21 +158,17 @@ namespace VisionBuilder.UI.Statistics
); );
} }
var totalDefects = 0;
foreach (var defect in _defects)
{
totalDefects += defect.Value;
}
monthStatistics.WriteLine([]); monthStatistics.WriteLine([]);
monthStatistics.WriteLine( monthStatistics.WriteLine(
["Total errors", totalDefects.ToString()] ["Total error images", _errors.ToString()]
); );
monthStatistics.WriteLine( monthStatistics.WriteLine(
["Total produced(including errors)", _total.ToString()] ["Total produced(including errors)", _total.ToString()]
); );
var percentage = _total > 0 ? (double)totalDefects / _total * 100 : 0; var percentage = _total > 0 ? (double)_errors / _total * 100 : 0;
monthStatistics.WriteLine( monthStatistics.WriteLine(
["Error rate", percentage.ToString("F2") + "%"] ["Error rate", percentage.ToString("F2") + "%"]

View File

@@ -20,19 +20,20 @@ internal static class Program
/// The main entry point for the application. /// The main entry point for the application.
/// </summary> /// </summary>
[STAThread] [STAThread]
static void Main() static void Main(string[] args)
{ {
// To customize application configuration such as set high DPI settings or default font, // To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration. // see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize(); ApplicationConfiguration.Initialize();
// In your application startup code // In your application startup code
MaterialSkin.MaterialSkinManager.ConfigureForInspectron(); MaterialSkin.MaterialSkinManager.ConfigureForInspectron();
CommandLineParser commandLineParser = new CommandLineParser(args);
InspectronSettings settings = new InspectronSettings("..\\Data\\Config"); InspectronSettings settings = new InspectronSettings("..\\Data\\Config");
var mainKernel = VisionBuilder.UI.Common.VisionBuilder.CreateMainKernel(settings); var mainKernel = VisionBuilder.UI.Common.VisionBuilder.CreateMainKernel(settings);
var profile = commandLineParser.GetStringArgument("profile", 'p');
mainKernel.UsePlugins(); mainKernel.UsePlugins(profile);
mainKernel mainKernel

View File

@@ -8,7 +8,7 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<ApplicationIcon>Inspectron icon-512.ico</ApplicationIcon> <ApplicationIcon>Inspectron icon-512.ico</ApplicationIcon>
<Deterministic>false</Deterministic> <Deterministic>false</Deterministic>
<Version>2.0.9</Version> <Version>2.0.10</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@@ -8,7 +8,7 @@
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>Inspectron icon-512.ico</ApplicationIcon> <ApplicationIcon>Inspectron icon-512.ico</ApplicationIcon>
<Deterministic>false</Deterministic> <Deterministic>false</Deterministic>
<Version>2.0.9</Version> <Version>2.0.10</Version>
</PropertyGroup> </PropertyGroup>

View File

@@ -127,12 +127,13 @@ namespace Inspectron.HawkEye.View
// //
lblErrName.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; lblErrName.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
lblErrName.BackColor = Color.White; lblErrName.BackColor = Color.White;
lblErrName.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204);
lblErrName.Location = new Point(16, 32); lblErrName.Location = new Point(16, 32);
lblErrName.Name = "lblErrName"; lblErrName.Name = "lblErrName";
lblErrName.Size = new Size(1536, 16); lblErrName.Size = new Size(1536, 24);
lblErrName.TabIndex = 6; lblErrName.TabIndex = 6;
lblErrName.Text = "label1"; lblErrName.Text = "label1";
lblErrName.TextAlign = ContentAlignment.MiddleCenter; lblErrName.TextAlign = ContentAlignment.TopCenter;
// //
// ImagePreview // ImagePreview
// //