diff --git a/mobile/examples/Maui/MauiVisionSample/MauiVisionSample.sln b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample.sln new file mode 100644 index 000000000..afe383e14 --- /dev/null +++ b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample.sln @@ -0,0 +1,27 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31611.283 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiVisionSample", "MauiVisionSample\MauiVisionSample.csproj", "{B181D00F-FFC0-489C-A59B-27665CD58015}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B181D00F-FFC0-489C-A59B-27665CD58015}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B181D00F-FFC0-489C-A59B-27665CD58015}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B181D00F-FFC0-489C-A59B-27665CD58015}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {B181D00F-FFC0-489C-A59B-27665CD58015}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B181D00F-FFC0-489C-A59B-27665CD58015}.Release|Any CPU.Build.0 = Release|Any CPU + {B181D00F-FFC0-489C-A59B-27665CD58015}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572} + EndGlobalSection +EndGlobal diff --git a/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/App.xaml b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/App.xaml new file mode 100644 index 000000000..a5e3f56e5 --- /dev/null +++ b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/App.xaml.cs b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/App.xaml.cs new file mode 100644 index 000000000..d35e96edf --- /dev/null +++ b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/App.xaml.cs @@ -0,0 +1,11 @@ +namespace MauiVisionSample; + +public partial class App : Application +{ + public App() + { + InitializeComponent(); + + MainPage = new AppShell(); + } +} diff --git a/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/AppShell.xaml b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/AppShell.xaml new file mode 100644 index 000000000..8aee3ef57 --- /dev/null +++ b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/AppShell.xaml @@ -0,0 +1,14 @@ + + + + + + diff --git a/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/AppShell.xaml.cs b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/AppShell.xaml.cs new file mode 100644 index 000000000..c2cd6a274 --- /dev/null +++ b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/AppShell.xaml.cs @@ -0,0 +1,9 @@ +namespace MauiVisionSample; + +public partial class AppShell : Shell +{ + public AppShell() + { + InitializeComponent(); + } +} diff --git a/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/ExecutionProviders.cs b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/ExecutionProviders.cs new file mode 100644 index 000000000..b0dc39395 --- /dev/null +++ b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/ExecutionProviders.cs @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +namespace MauiVisionSample +{ + public enum ExecutionProviders + { + CPU, // CPU execution provider is always available by default + NNAPI, // NNAPI is available on Android + CoreML // CoreML is available on iOS/macOS + } +} \ No newline at end of file diff --git a/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/IVisionSample.cs b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/IVisionSample.cs new file mode 100644 index 000000000..a9eda3e34 --- /dev/null +++ b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/IVisionSample.cs @@ -0,0 +1,16 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using System.Threading.Tasks; + +namespace MauiVisionSample +{ + public interface IVisionSample + { + string Name { get; } + string ModelName { get; } + Task InitializeAsync(); + Task UpdateExecutionProviderAsync(ExecutionProviders executionProvider); + Task ProcessImageAsync(byte[] image); + } +} diff --git a/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/MainPage.xaml b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/MainPage.xaml new file mode 100644 index 000000000..226ce8012 --- /dev/null +++ b/mobile/examples/Maui/MauiVisionSample/MauiVisionSample/MainPage.xaml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +