Repository navigation
[Experimental release] Adding ImageForegroundExtractor in AI features section - #562
Conversation
@microsoft-github-policy-service agree [company="Microsoft"] |
@microsoft-github-policy-service agree company="Microsoft" |
|
Please hold till WASDK 2.0 experimental 2 releases. |
There was a problem hiding this comment.
Pull Request Overview
This PR adds an Image Foreground Extractor feature to the Windows AI Sample application, demonstrating automated foreground segmentation using the Windows AI API (available in experimental2 release).
- Implements a new MVVM pattern for foreground extraction with model, view model, and UI components
- Integrates the feature into the application's navigation structure
- Adds documentation and code examples for API usage
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ImageForegroundExtractorModel.cs | Model manager handling ImageForegroundExtractor API operations and deployment |
| ImageForegroundExtractorViewModel.cs | ViewModel implementing command pattern for foreground extraction |
| ImageForegroundExtractorPage.xaml | UI layout for the foreground extraction demo page |
| ImageForegroundExtractorPage.xaml.cs | Code-behind for the page component |
| CopilotRootViewModel.cs | Adds ImageForegroundExtractor property to navigation root |
| MainWindow.xaml | Adds navigation menu item for the feature |
| MainWindow.xaml.cs | Adds navigation case for routing to the new page |
| ImageForegroundExtractor.md | Code example demonstrating API usage |
| ImageForegroundExtractorInit.md | Initialization code example |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Updated WASDK version to 2.0.0-experimental2 after testing out all the models in this sample app. We are good to go. |
* Add app WinUIDesktopAppWithIsland (#357) * Initial checkin * Add SceneNode Helmet * Add readme.md * Organize usings and remove Reunion nuget feed * Add Lottie * CP of User/manodasanw/cs win rt21 core web view2 into release/experimental (#360) * Create Directory.Build.targets * Update nuget.config * Update Directory.Build.targets * Update Directory.Build.targets * Update WinUIComponentCs.csproj * Update CsUnpackagedAppNotifications.csproj * add CoreWebView2 nuget reference to all samples for WinAppSDK 1.6 compat * Merge additional CoreWebView2 nuget reference fixes (#359) * Fix up .vcxproj apps for WinUI Custom CWV2SDK support * Patch all remaining .vcxproj for 1.6 CWV2 work --------- Co-authored-by: DmitriyKomin <dkomin@microsoft.com> --------- Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com> Co-authored-by: Scott Jones <sjones@microsoft.com> Co-authored-by: DmitriyKomin <dkomin@microsoft.com> * Revert "Add app WinUIDesktopAppWithIsland (#357)" (#364) This reverts commit 2a95f69. * Port Build 2024 Drawing samples into WASDK 1.6 exp 2 branch. (#367) * Port DrawingIsland samples into WASDK 1.6 Exp 2 This ports the user/jeffstall/drawingisland Samples shown at Build 2024 into the release/experimental branch for WASDK 1.6 Exp 2. * Delete DrawingIsland.cpp Remove older sample. * Restore the localpackages folder of nuget.config (#369) * [SFI] Avoid download from nuget.org directly in the Agg pipeline (#371) * Update nuget.config * Update nuget.config * Update to released CsWinRT versions (#373) * Add Directory.Build.props (#378) * [Build] Ensure chaining of directory.build.props files reaches the new central one for Sample apps (#380) * Port UXFrameworksOnIslands sample to WindowsAppSDK 1.7.0-experimental1. (#394) * Added sample for WinAppSDK CameraCaptureUI (#395) * Added cpp sample * Added C# sample * Updated Readme doc * Added yml file * removing redundant headers * Improving sample_app name * Addressing comments * Add Public NuGet Feed to Support Developers Without Private Feed Access (#393) * change feed * add internal back * update the order * remove internal one * update the template * add comments back * remove another one * OAuth2Manager sample for WinAppSDK 1.7 (#398) * OAuth2Manager sample * Added copyright statement * Review comments * Checking the authority if protocol activation is for oauth redirect and then call CompleteAuthRequest * Added sample for WinAppSDK BackgroundTaskBuilder (#392) * Added sample for WinAppSDK BackgroundTaskBuilder Signed-off-by: Godly Alias <godlyalias@microsoft.com> * Added comments for improved readability of the sample (#400) Signed-off-by: godlytalias <godlytalias@yahoo.co.in> * Port UXFrameworksOnIslands sample to WindowsAppSDK 1.7.0-experimental2. (#401) * Remove implicit grant type from samples (#402) * Remove implicit grant type from samples * Removing prerelease version * Added sample for WinAppSDK BadgeNotification (#403) * Added sample for WinAppSDK BadgeNotification * Added C# sample for WinAppSDK BadgeNotification * created a common method for all the Glyph buttons --------- Co-authored-by: Satwik Kumar Sharma <satwiksharma@microsoft.com> * Port UXFrameworksOnIslands sample to WindowsAppSDK 1.7.0-experimental3. (#405) * For adding WCR sample for testing pipeline (#408) * Add WCR sample (#404) This commit adds Windows Copilot Runtime sample to this repo. * Fix unpackaged app debugging issue report at #406 - StorageFile.GetFileFromApplicationUriAsync doesn't support in unpackaged app (#407) * Fix StorageFile cannot load in Unpackaged App situation. * Rename the pub file, given we don't add 10 as part of win10 already in any latest sample, moreover build warning show cannot find the win-arm64.xml given the csproj define the name without 10 as well. * Update Readme.md to mention how to build or dotnet run as unpackaged app as example. * Remove the nuget.config given we don't need it, and we cannot point to public nuget feed. --------- Co-authored-by: Gordon Lam <73506701+yeelam-gordon@users.noreply.github.com> * InProc BackgroundTask Samples (#413) * Added InProc BackgroundTask Samples Signed-off-by: godlytalias <godlytalias@yahoo.co.in> * Support for trimming in BackgroundTask Samples (#421) Signed-off-by: godlytalias <godlytalias@yahoo.co.in> * Add a sample of a console C++ app built with CMake (#420) * Create new vcpkg application * Add cppwinrt and wil packages * Start building * Compile and build * Update baseline vcpkg catalog * Add vcpkg port for windowsappsdk to start * Start cppwinrt projection * Pull in the vcpkg ports * Start using text generator * Fix winappsdk bootstrap DLL deployment * Better note when the models aren't available * Add other targets for cmake * Remove unnecessary retry * Incrementally display the response * Add app exe manifest, declare Win11 support * Start a readme * Add formatting * Fix license/copyrights - users must read this from the packages * Move formatters to a new file * Update documentation * More docs * Update parent readme * Move things around for samples guidelines * Tidy up for pushing samples * Enable delayloading for the manual method, so exe can load on older Windows machines * Make a nicer error if the bootstrapper can't find 1.7-e3 * Remove custom webview2, the main one works fine * Fix ignore of build, just ignore out/ * PR FB * Add a sample of a Windows Forms App (unpackaged) using explicit initialization (#427) * sample WinFormsApp using WindowsAppSDK with explicit initialization * add error handling and modify readme * rename folder * add space * fix pipeline build * fix whitespace * update WASDK --------- Co-authored-by: ssparach <> * Add a sample of Windows Forms App (unpackaged) using WCR (#428) * using wcr inline with docs * save state * polish UI and clean code * address PR comments * fix sample solution configuration * add readme --------- Co-authored-by: ssparach <> * Port UXFrameworksOnIslands sample to WindowsAppSDK 1.7.0. (#422) * Add a sample of using WPF in a packaged application (#429) * Even more * Slim down the supported platforms * Add a sample of a .NET MAUI app using WCR (#431) * base project plus ImageScaler demo and text generation demo * Add README * Move project up one folder * Added details on the package reference and target framework. * PR feedback. * Add WCR for WPF with DotNetBuild (#423) * CS WPF Sparse Package Sample With WCR (#440) * Update WCRForWPF Dotnet Sample to have a new identity and better instructions (#441) * Give new identity and better instructions * Update readme * Fix typos use parameters * Revert WindowsAppSDK version back to 1.7.250127003-experimental3 on cs-winforms/WindowsCopilotRuntimeSample.csproj (#443) * Fix WCRForWPF Sparse Pacakge App crashing on ImageBuffer.CreateCopyFromBitmap(softwareBitmap); (#442) * Update WindowsCopilotRuntime/cs-maui sample to use WinAppSDK 1.8-experimental1 (#446) * Update to 1.8-experimental1. * Complete conversion to GetReadyState() / EnsureReadyAsync(), and work around GetReadyState() bug. * Add a sample of sparse packaged Winforms using WCR (#444) * save state * changes for winforms sparse package sample * address PR comments * address PR comments * remove end process code and stale comment * Update WCR Winforms sample to WASDK version 1.8-exp1 (#448) * update sample to v1.8 * fix typo * remove workaround * WCR sample for 1.8 release (#445) (#449) Co-inciding with 1.8 experimental release of Winappsdk, new WCR sample which uses the new nuget. new samples for text intelligence and image object remover are there by feature owners.. Better loading indicator and new Model status apis with better error codes. * things compile * more updates to run * updated nuget * image description fixed. Also updated readme of various models * OCR output changed to textbox * Added Sample for Image Object Remover API in WinAppSDK-Samples (#435) * Added initial level changes for ImageObjectRemover model * Added further changes for ImageObjectRemover Sample * Incorporated changes regarding the release nuget * Added few changes to keep a check on ImageBuffer issue and added additional details about inputs. * Changed the Image in the Assets and corrected the markdown * Update Text intelligence sample (#437) * add samples for Summarize, Rewrite, TextToTable skills into Ti * clean up commented code * comment out TextToTable skill until we pick up a new realease * Address comment * removes unused variable * fixes progress loading * image description better error handling * ready to go --------- Co-authored-by: pratiksinha07 <89442836+pratiksinha07@users.noreply.github.com> Co-authored-by: kchansangMSFTwork <kchansang@microsoft.com> Co-authored-by: Pratik Anand <praanan@microsoft.com> * remove workaround from sparse package sample (winforms) (#450) * update buildtools for samples validation in agg with buildtools.msix package refactor (#453) * Add sample that uses packaging project to package Winforms (unpackaged by default) (#454) * add packaging project for cs-winforms * changes * remove stale directory * nit * change display name * added missing updates from cherry pick (#455) * Update WCRforWPF DotNet and Sparse Package samples to 1.8.250410001-experimental1 (#451) * Update WCRForWPF warpproj sample to 1.8.250410001-experimental1 (#458) * Update to 1.8 and add readme * Add <RuntimeIdentifiers>win-x64;win-arm64</RuntimeIdentifiers> * UPdate readmes * Update CMake sample instructions and WinAppSDK version (#460) * Update WASDK Experimental pointer to 1.8-e1 * Remove local copy of webview2, update the wasdk portfile * Modernize the vcpkg portfile for windowsappsdk * Use "install" instead of "copy" (read-only inputs are good) * Move projection of metadata into the portfile directly * Add cppwinrt & wv2 as "host" dependencies * PR FB * update readme (#461) * Update WCR WPF sample README for 1.8 requirement (#462) * Remove unnecessary global.json in cs-winui sample (#459) * Revert "Remove unnecessary global.json in cs-winui sample (#459)" (#463) This reverts commit b48ae7a, which is causing problems in the pipelines. * remove unpackaged samples (#464) * Windows AI changes to experimental branch (#469) All new experimental api changes new name branding and namespace change README and contributing doc moved inside cs-winui because other samples will also exist within this folder. Added sample to LanguageModelPage for LoRA inferencing * Update samples for 1.8 experimental2 (#470) * Added Microsoft.Windows.SDK.BuildTools.MSIX transitive package reference for WinAppSDK 1.8+ * Added BuildTools.MSIX package refs to remaining C++ projects * Updating samples to reflect package changes * update to Microsoft.Windows.SDK.BuildTools.MSIX 1.6.20250507.1 for Metapackage Refactor * updated BuildTools.MSIX to pick up regression fix * Updated to latest BuildTools.MSIX to pick up regression fix * removed duplicate widgets ref * Updating samples to updated versions for exp2 * Revert Windows AI sample changes to address separately * Drop buildtools as it is proapgated by WinAppSDK package reference --------- Co-authored-by: Scott Jones <scottj1s@gmail.com> * Update other Windows AI samples to exp2 (#471) * Restore WindowsAI CMake sample to support WinAppSDK 1.8 Experimental 2 (#474) * Revert "remove unpackaged samples (#464)" This reverts commit 7002fdd. * Move samples to the right location * Start switching to nuget-based deployment of wasdk * fixes to support wasdk 1.8 exp2 API changes and metapackage, and cppwinrt projection collision (#473) * Update terminology * Link updates * Oops, note * Update README.md * Update to C++23 * Update documentation, remove delayload * removed conflict markers --------- Co-authored-by: Jon Wiswall <jonwis@microsoft.com> * fix Warning APPX1901 by setting default language (#475) Co-authored-by: Qiutong Shen <qiutongshen@microsoft.com> * Moves Windows AI Foundry sample to winappsdk 1.8 exp 3 Co-authored-by: Pratik Anand <praanan@microsoft.com> * Add right permissions to the app after new security enforcements (#482) (#484) After new security enforcements are in, every app using Windows AI apis need these configs in their manifest files and solution files. For details read here : learn.microsoft.com/en-us/windows/ai/apis/get-started?tabs=winget%2Cwinui%2Cwinui2 Also convert tabs to spaces for these files. * Bring WinML samples into WASDK repository for experimental release (#485) * Adding original sample from winml repo * Component package adjustments * Adding other WinML samples as-is, fixing directory structure * Update project to reference new packages, switch over to using new APIs (hits linking errors though) * Updates to build C# sample with experimental 4 * Updates to C# ResNet sample * Updating package references * Update native BUILD sample. Also add some checks to make sure the caller knows to update those programs with the path to the converted ResNet model. * Add the python example (#482) * Add the python example * update readme * update copyright info * udpate winui3 packages names. Version still TBD * set the correct WASDK version number --------- Co-authored-by: Feng Wang <wangfen@microsoft.com> * Fixing package versions (cpp desktop) * Fixing package versions (cpp resnet) * Whitespace fix --------- Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> Co-authored-by: Feng Wang <wang6922@outlook.com> Co-authored-by: Feng Wang <wangfen@microsoft.com> * fix warnings caused by samples repo (#489) Co-authored-by: Qiutong Shen <qiutongshen@microsoft.com> * suppress cs8305 (#492) Co-authored-by: Qiutong Shen <qiutongshen@microsoft.com> * Update for exp4 (#490) * Adjusting platform / configuration options to enable builds (#497) Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Include BuildTools, BuildTools.MSIX, and WebView2 packages (#499) * Include BuildTools, BuildTools.MSIX, and WebView2 packages * Update UpdateVersions.ps1 Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com> * Update UpdateVersions.ps1 Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com> --------- Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com> * fix issue with openvino in winml sample (#502) Co-authored-by: Steven Heller <steven.heller@microsoft.com> * Update TargetPlatformVersion where 22000 is used (#508) * WinML Sample Update for 1.8.1 Stable (targeting release/experimental) (#522) * Update samples to 1.8.1 (#528) * Update samples to 1.8.1 * Undo for sample using experimental APIs * WinML Samples Fixes (Cherry-Picks to release/experimental) (#532) * Improvements to WindowsML sample for MSIX packaging (#530) * Update Resnet C# sample to use correct registration API (#531) Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> --------- Co-authored-by: Nick Eubanks <nieubank@microsoft.com> Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Windows ML: Consolidate ResNet projections into main solution and fix warnings (#534) (#535) * Remove Resnet C# solution and move those projects to main WinML solution * Fix warnings --------- Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Align with samples repo Nuget macro; clean up old targets files. (#537) Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Add ModelCatalog samples to WinML (#541) * cp * v update * raw links * Windows ML: ABI Execution Provider enumeration sample (#544) (#549) * Windows ML: ABI Execution Provider enumeration sample Add Windows ML sample demonstrating execution provider discovery and management using direct ABI/COM interfaces with Microsoft.WindowsAppSDK.ML package. Key features: - Automatic ABI header generation via Microsoft.Windows.AbiWinRT - Complete provider lifecycle management (discovery → preparation → registration) - Event-driven async operations with progress reporting - Modular architecture with reusable components Technical implementation: - Direct COM interface programming with Microsoft::WRL - HANDLE-based async synchronization patterns - Self-contained Windows App SDK deployment, but nothing here precludes framework-based deployments. - Filtered metadata processing for Windows ML APIs Components added: - AbiUtils.h: HSTRING utilities and common helpers - AsyncHandlers: Progress and completion event handlers - ExecutionProvider: IExecutionProvider wrapper with state management - ExecutionProviderCatalog: Provider discovery and enumeration - ConsoleUI: Interactive user interface utilities - Application: Lifecycle management and orchestration This sample provides developers with production-ready patterns for direct ABI access to Windows ML capabilities, complementing existing C++/WinRT samples with a lower-level programming approach. * Update Nuget package directory path and enhance error reporting in ExecutionProviderCatalog * Windows ML: Fix warnings in cs-winui project (#546) (#555) * Fix warnings in cs-winui project * PR feedback (add publish profiles) * Revert "PR feedback (add publish profiles)" This reverts commit 340e2fd. * Remove PublishProfile --------- Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Windows ML: Miscellaneous build fixes to support automated builds / tests (#556) * Setting up intermediate / output directories and consolidating props files * Fix warnings in csproj file * Add fixes for debug builds and for hooking SqueezeNet targets file during command-line build * Revert "Fix warnings in csproj file" This reverts commit 5928575. * Using a more appropriate macro to cover cpp / cs scenarios * Using self-contained for C# desktop sample since test environments might not have the right runtime already installed --------- Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Add Visual Studio detection logic to build.cmd (#542) (#554) * Add detection logic for VS * PR feedback (add call to usage in error path) * PR feedback (tightening output) --------- Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Updating version of GenAI package to pick up latest (#557) Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Add runtime ID for C# Console App (#559) Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Storage.Pickers Sample for WindowsAppSDK 1.8 (#512) The C# and C++ samples for the `Microsoft.Windows.Storage.Pickers` API. <img width="1023" height="652" alt="image" src="https://github.com/user-attachments/assets/85a632ca-7638-4c01-b2e1-40a2531359d8" /> * fix: resolve C4100 unreferenced parameter warnings across samples (#513) * fix: resolve C4100 unreferenced parameter warnings across samples * set C4100 treateAsError * move 8305 suppress to global * extra C4100 process * add extra test * ext --------- Co-authored-by: Qiutong Shen <qiutongshen@microsoft.com> * update model management APIs (#564) * Update UpdateVersions.ps1 to update Directory.Packages.props (#565) * Fix all WindowsAIFoundry according to public doc (#539) * Fix according to public doc * Fix spaces * Fixed all the app without correct appmanifest setting * Add Readme to install maui workload * Update correctly from originally value * Fix comments * [Experimental release] Adding ImageForegroundExtractor in AI features section (#562) * implementation of ImageForegroundExtractor * updating WASDK nuget version to experimental2 * Update WinAppSDK version in WinML Samples (#571) * update WinML to point to latest WinAppSDK versions * update genai * Refactor build/versioning: shell-agnostic builds, auto NuGet versioning, and Copilot-ready workflow (#514) * UpdateVersions.ps1: require WinAppSDKVersion and auto-install package (experimental branch) * Improve build and Copilot experience * Video Super Res sample (#575) * final winappsdk 2.0 exp3 * address cr comments * readystate * change * minor change * missing namespace * Update samples to use .net 8 (At least) (#574) * Fix all from .net6 to .net8 * Fix the build for restore nuget package should be different for vcxproj vs csproj * Convert runtime identifiers * Remove duplicated runtimeidentifiers * Update runtimeidentifiers at *.pubxml * Add a lot of missing runtimeIdentifier changes * Get rid of the condition for runtimeIdentifier * Fix the runtimeIdentifier for OAuthManager doesn't need to add conditional for .net 6 or .net 8 * Remove experimental types from release/2.0-stable (#586) * [Cherry-Pick]Use Centralized Nuget Package Management for vcxproj (#579) (#590) * Built successful one in 1st round * Untried one, but AI converted * 2nd Fix * 3rd changes * 4th Fix * Fix WinML build issue * 5th fix * Fix WindowsAISample.csproj restore nuget problem * Fix further build issue * Ensure only 1 newline, not multiple, for csproj and vcxproj * Try to have reliable version update for Directory.Packages.props * Test failure because the waproj doesn't reference correct MSVCP * Fix build error for CsWpfState/CsWpfState.csproj * Fix CppWinMainEnv failed to launch with error VCRuntime140_1.dll not found * Add missing VCRForwarders * Fix copilot comment * Convert WinUI3 to single package - starting with Instancing * Update the rest to be single package * pdateVersions.ps1 should restore package even when packages folder not provided * Remove all vcxproj.filters's packages.config reference * Restore some of original property - phase 1 * Restore original packages path * Remove extra symbols * Restore originally appxmanifest value for those migrated one * remove unnecessary property in Directory.Build.props for WinML * Add warning only if restore not successful * Nuget install on pipeline will be done itself, it cannot fail Co-authored-by: Gordon Lam <73506701+yeelam-gordon@users.noreply.github.com> * Revert "Video Super Res sample (#575)" (#592) This reverts commit 1a95de2. * Remove additional experimental types from release/2.0-stable (#594) * Windows ML: Refactoring and updates for Python samples (#578) (#610) Some miscellaneous fixes and readme updates to the Python Windows ML sample: Cleaner factoring of dependencies and helper script for installation Readme updates to clarify Python version requirements Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * Add LoRA sample in WASDK 2.1.3 (#638) * Windows ML: Enable Control Flow Guard for cpp-abi sample (#648) (#651) CppAbiEPEnumerationSample.exe was built without Control Flow Guard, tripping BinSkim BA2008 (error severity) in the WindowsAppSDK SamplesCompat SDL gate (Guardian: Post Analysis) once the temporary .gdnsuppress waiver (Bug 60433419) expired on 2026-06-30. Set <ControlFlowGuard>Guard</ControlFlowGuard> so cl receives /guard:cf and link receives /GUARD:CF, matching the other WindowsML C++ samples that already pass BA2008. (cherry picked from commit 26eddcd) * Adding compile / link switches for native WindowsML samples (#577) (#599) (#652) (cherry picked from commit c700667) Co-authored-by: adrastogi <aditya.rastogi@microsoft.com> Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> * [SOURCE] Reconcile approved sample content Compose the pinned main source tree with the approved stable-only and evolved sample inventory. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [SEMANTIC] Apply reviewed reconciliation fixes Update the reconciled repository guidance, replace the inaccessible ToggleButton.OnToggle call with explicit checked-state behavior, and correct the WindowsML NuGet fallback path and escaped property reference. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [ALIGNMENT] Apply established repository policy Apply policies and topology already established by pinned main or retained stable design to the reconciled source inventory. This includes the Windows App SDK 2.4 CPM graph, .NET 8, package-reference migration, v145 with Visual Studio 2022 fallback, C++20, ReadyToRun cleanup, stable single-project MSIX packaging, and deterministic solution and pipeline alignment. These changes are intended for rule-and-coverage review rather than file-by-file review. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Signed-off-by: Godly Alias <godlyalias@microsoft.com> Signed-off-by: godlytalias <godlytalias@yahoo.co.in> Co-authored-by: JesseCol <50150435+JesseCol@users.noreply.github.com> Co-authored-by: Bob Pulliam <bpulliam@gmail.com> Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com> Co-authored-by: Scott Jones <sjones@microsoft.com> Co-authored-by: DmitriyKomin <dkomin@microsoft.com> Co-authored-by: Jeffrey Stall <TrueRottweiler@users.noreply.github.com> Co-authored-by: alexlamtest <68841560+alexlamtest@users.noreply.github.com> Co-authored-by: Ion Vasilian <78395581+ionvasilian@users.noreply.github.com> Co-authored-by: Saharsh Ananta Jaiswal <sahjaiswal@microsoft.com> Co-authored-by: leileizhang <leilzh@microsoft.com> Co-authored-by: Akanksha Patel <akanpatel22@gmail.com> Co-authored-by: Godly T.Alias <godlytalias@yahoo.co.in> Co-authored-by: SatwikKrSharma <68874478+SatwikKrSharma@users.noreply.github.com> Co-authored-by: Satwik Kumar Sharma <satwiksharma@microsoft.com> Co-authored-by: Pratik Anand <pratik.preet@gmail.com> Co-authored-by: Gordon Lam <73506701+yeelam-gordon@users.noreply.github.com> Co-authored-by: Jon Wiswall <jonwis@microsoft.com> Co-authored-by: ssparach <128866445+ssparach@users.noreply.github.com> Co-authored-by: Mike Crider <45052236+codendone@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: pratiksinha07 <89442836+pratiksinha07@users.noreply.github.com> Co-authored-by: kchansangMSFTwork <kchansang@microsoft.com> Co-authored-by: Pratik Anand <praanan@microsoft.com> Co-authored-by: Darshak Bhatti <47045043+dabhattimsft@users.noreply.github.com> Co-authored-by: Scott Jones <scottj1s@gmail.com> Co-authored-by: Qiutong Shen <qiutongshen@microsoft.com> Co-authored-by: adrastogi <aditya.rastogi@microsoft.com> Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> Co-authored-by: Feng Wang <wang6922@outlook.com> Co-authored-by: Feng Wang <wangfen@microsoft.com> Co-authored-by: sheller-ms <stevenheller@microsoft.com> Co-authored-by: Steven Heller <steven.heller@microsoft.com> Co-authored-by: Nick Eubanks <nieubank@microsoft.com> Co-authored-by: Dinah Xiaoman G <116714259+DinahK-2SO@users.noreply.github.com> Co-authored-by: Zarana Kiran Desai <78943958+zadesai@users.noreply.github.com> Co-authored-by: palash-khare <palashkhare@microsoft.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Daniel Ju <41210545+daniel-ju@users.noreply.github.com> Co-authored-by: haonanttt <nathan_tang0770@163.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Description
Note: This feature will be available through experimental2 release.
Implementation of Image Foreground Extractor Feature
This PR adds a new Image Foreground Extractor feature to the Windows AI Sample application, demonstrating the use of the Windows API for automatic foreground object segmentation.
New Files Added:
[ImageForegroundExtractorModel.cs] - Model manager for handling ImageForegroundExtractor API operations
[ImageForegroundExtractorViewModel.cs]- ViewModel implementing the MVVM pattern for foreground extraction
[ImageForegroundExtractorPage.xaml & .xaml.cs ] - UI page for the foreground extraction demo
[ImageForegroundExtractor.md] - Code example demonstrating API usage
[ImageForegroundExtractorInit.md] - Initialization code example
Modified Files:
[MainWindow.xaml & .xaml.cs] - Added navigation item for the new feature
[CopilotRootViewModel.cs] - Integrated the new ViewModel into the app's navigation structure
Testing
Tested out with 2.0.0-experimental2 custom Nuget. All of the APIs required for E2E flow working as expected.
Target Release
experimental2 release
Checklist
Note that /azp run currently isn't working for this repo.