From 47b8d60c529f5893419b37517fc53ff78520c079 Mon Sep 17 00:00:00 2001 From: Alek-ban Date: Fri, 6 Feb 2026 17:19:57 +0300 Subject: [PATCH] feat: OpenCvImage --- GSS2.Test/ViewModels/MainViewModel.cs | 13 +- GSS2.Test/Views/MainView.axaml | 9 +- GSS2.UI.Core/OpenCvImage.cs | 275 ++++++++++++++++++++++++++ 3 files changed, 293 insertions(+), 4 deletions(-) create mode 100644 GSS2.UI.Core/OpenCvImage.cs diff --git a/GSS2.Test/ViewModels/MainViewModel.cs b/GSS2.Test/ViewModels/MainViewModel.cs index 5a0823e..6ace3be 100644 --- a/GSS2.Test/ViewModels/MainViewModel.cs +++ b/GSS2.Test/ViewModels/MainViewModel.cs @@ -1,5 +1,7 @@ using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; +using GSS2.Core.Hardware; using GSS2.UI.Core.ViewModels; namespace GSS2.Test.ViewModels; @@ -7,14 +9,23 @@ namespace GSS2.Test.ViewModels; public partial class MainViewModel : ViewModelBase { private readonly ILogger _logger; + private readonly CameraService _cameraService; [ObservableProperty] private CameraViewModel _cameraViewModel; [ObservableProperty] private ResourcesViewModel _resourcesViewModel; + [ObservableProperty] private OpenCvSharp.Mat? _image; + [ObservableProperty] private IRelayCommand _buttonClick; - public MainViewModel(ILogger logger, CameraViewModel cameraViewModel, ResourcesViewModel resourcesViewModel) + public MainViewModel(ILogger logger, CameraViewModel cameraViewModel, ResourcesViewModel resourcesViewModel, CameraService cameraService) { _logger = logger; + _cameraService = cameraService; CameraViewModel = cameraViewModel; ResourcesViewModel = resourcesViewModel; + ButtonClick = new RelayCommand(() => + { + cameraService.CaptureImage(CancellationToken.None, 10).ContinueWith(image => Image = image.Result); + }); + _logger.LogInformation("{} initialized", nameof(MainViewModel)); } } \ No newline at end of file diff --git a/GSS2.Test/Views/MainView.axaml b/GSS2.Test/Views/MainView.axaml index 75b0bbb..3dc275f 100644 --- a/GSS2.Test/Views/MainView.axaml +++ b/GSS2.Test/Views/MainView.axaml @@ -3,10 +3,13 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local_vm="using:GSS2.Test.ViewModels" xmlns:core_vm="using:GSS2.UI.Core.ViewModels" + xmlns:core="using:GSS2.UI.Core" x:DataType="local_vm:MainViewModel" x:Class="GSS2.Test.Views.MainView"> - - - + + +