feat: Add AI extraction service and related view models
- Introduced `IAiExtractionService` and its implementation `AiExtractionService` for processing images and extracting text. - Created `AiResultItem` model to hold results from AI extraction. - Added `ImageProcessingCoordinator` to manage image processing tasks and provide progress updates. - Implemented view models for AI settings, path settings, processing state, race upload settings, and visual settings to support UI binding. - Updated `Program.cs` to register new services and dependencies. - Modified project file to skip MinVer execution during local builds.
This commit is contained in:
parent
bdf503c627
commit
3c722a66df
16 changed files with 1462 additions and 628 deletions
75
imagecatalog/ViewModels/AiSettingsViewModel.cs
Normal file
75
imagecatalog/ViewModels/AiSettingsViewModel.cs
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
using System.Collections.ObjectModel;
|
||||
using ImageCatalog_2.Models;
|
||||
|
||||
namespace ImageCatalog_2.ViewModels;
|
||||
|
||||
public class AiSettingsViewModel : ViewModelBase
|
||||
{
|
||||
private bool _extractNumbers;
|
||||
public bool ExtractNumbers
|
||||
{
|
||||
get => _extractNumbers;
|
||||
set
|
||||
{
|
||||
_extractNumbers = value;
|
||||
NotifyPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private string _modelsFolderPath = string.Empty;
|
||||
public string ModelsFolderPath
|
||||
{
|
||||
get => _modelsFolderPath;
|
||||
set
|
||||
{
|
||||
_modelsFolderPath = value;
|
||||
NotifyPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private string _csvOutputPath = string.Empty;
|
||||
public string CsvOutputPath
|
||||
{
|
||||
get => _csvOutputPath;
|
||||
set
|
||||
{
|
||||
_csvOutputPath = value;
|
||||
NotifyPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private string _faceExecutablePath = string.Empty;
|
||||
public string FaceExecutablePath
|
||||
{
|
||||
get => _faceExecutablePath;
|
||||
set
|
||||
{
|
||||
_faceExecutablePath = value;
|
||||
NotifyPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private string _faceOutputFolderPath = string.Empty;
|
||||
public string FaceOutputFolderPath
|
||||
{
|
||||
get => _faceOutputFolderPath;
|
||||
set
|
||||
{
|
||||
_faceOutputFolderPath = value;
|
||||
NotifyPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private double _aiProgress;
|
||||
public double AiProgress
|
||||
{
|
||||
get => _aiProgress;
|
||||
set
|
||||
{
|
||||
_aiProgress = value;
|
||||
NotifyPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public ObservableCollection<AiResultItem> PreviewResults { get; } = new();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue