OpenVision.Core 1.0.0.6-alpha

This is a prerelease version of OpenVision.Core.
dotnet add package OpenVision.Core --version 1.0.0.6-alpha                
NuGet\Install-Package OpenVision.Core -Version 1.0.0.6-alpha                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OpenVision.Core" Version="1.0.0.6-alpha" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OpenVision.Core --version 1.0.0.6-alpha                
#r "nuget: OpenVision.Core, 1.0.0.6-alpha"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install OpenVision.Core as a Cake Addin
#addin nuget:?package=OpenVision.Core&version=1.0.0.6-alpha&prerelease

// Install OpenVision.Core as a Cake Tool
#tool nuget:?package=OpenVision.Core&version=1.0.0.6-alpha&prerelease                

OpenVision

OpenVision is designed for computer vision applications. It provides various feature extraction, matching, recognition, and AR camera functionalities. The project is modular and allows users to integrate robust vision features into their applications, supporting platforms like .NET MAUI, WPF, and WinUI.

Table of Contents

Project Overview

OpenVision is a versatile project focused on feature detection, matching, and image recognition for computer vision tasks. It is built to provide core vision-related functionalities and supports both cloud and on-device recognition through a modular structure.

Features

  • Feature Detection: Support for various feature detectors such as AKAZE, ORB, BRISK, and SIFT.
  • Feature Matching: Configurable feature matchers using different algorithms such as BFMatcher (Brute Force) and others.
  • Image Recognition: Local and cloud-based image recognition systems.
  • Homography & AR: Built-in support for homography calculations and integration with augmented reality (AR) camera setups for MAUI, WPF, and WinUI platforms.
  • Dataset Handling: Efficient methods for handling and serializing datasets related to computer vision tasks.
  • WebSocket Communication: Supports WebSocket communication to interact with external systems for results and recognition tasks.

Key Directories

  • Configuration: Holds various feature detector and matcher option configurations (e.g., AKAZE, BRISK, ORB, SIFT).
  • Dataset: Manages dataset-related functionalities such as target handling and serialization.
  • DataTypes: Core data models like FeatureMatchingResult, ImageRequest, and HomographyResult.
  • Features2d: Contains feature extraction and matching utilities.
  • Reco: Recognition-related functionalities, including cloud and local recognition implementations.
  • OpenVision.Maui: Platform-specific implementation for .NET MAUI.
  • OpenVision.Wpf: Platform-specific implementation for WPF applications.
  • OpenVision.WinUI: Platform-specific implementation for WinUI applications.
  • OpenVision.Shared: Shared utilities and responses used across platforms.

Dependencies

  • .NET 8.0 or later
  • MAUI for cross-platform UI and AR components
  • WPF for desktop-based AR and image recognition
  • WinUI for modern Windows UI support

Building and Running

Prerequisites

Ensure you have the following installed:

  • .NET SDK (8.0 or later)
  • Visual Studio 2022 or later (with MAUI, WPF, and WinUI workloads installed)

Steps to Build:

  1. Clone the repository:

    git clone https://github.com/gachris/OpenVision.git
    
  2. Open the solution in Visual Studio:

    cd OpenVision
    open OpenVision.sln
    
  3. Restore dependencies:

    dotnet restore
    
  4. Build the solution:

    dotnet build
    

Usage

After building and running the project, you can access the following features:

  • Feature Extraction: Detect and extract features from images.
  • Feature Matching: Match features across multiple images using different algorithms.
  • Homography Calculation: Perform homography for planar object detection.
  • AR Integration: Integrate augmented reality features with camera input.

Using NuGet Packages

You can also use OpenVision via NuGet packages instead of cloning and building the repository manually. This method simplifies integration into your project and ensures that you're always using the latest version.

Steps to Install from NuGet:

  1. In your project, open the NuGet Package Manager in Visual Studio:

    • Go to Tools > NuGet Package Manager > Manage NuGet Packages for Solution.
  2. Search for the relevant OpenVision packages:

    • OpenVision.Core for core vision features.
    • OpenVision.Maui for MAUI-specific functionality.
    • OpenVision.Wpf for WPF-specific functionality.
    • OpenVision.WinUI for WinUI-specific functionality.
  3. Install the desired packages by clicking the Install button.

Alternatively, you can use the .NET CLI to install the packages directly:

  • For Core:

    dotnet add package OpenVision.Core
    
  • For MAUI platform:

    dotnet add package OpenVision.Maui
    
  • For WPF platform:

    dotnet add package OpenVision.Wpf
    
  • For WinUI platform:

    dotnet add package OpenVision.WinUI
    

Once the packages are installed, you can access the same functionality, such as feature detection, matching, and AR integration, within your project without needing to clone the repository.

Contributing

We welcome contributions! Please submit a pull request or raise an issue if you encounter any bugs or have suggestions for improvements.

Steps for Contributing:

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature/new-feature
    
  3. Commit your changes and push:
    git push origin feature/new-feature
    
  4. Submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-android34.0 is compatible.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net8.0-windows10.0.19041 is compatible.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on OpenVision.Core:

Package Downloads
OpenVision.WinUI

A .NET library for computer vision and image processing.

OpenVision.Wpf

A .NET library for computer vision and image processing.

OpenVision.Maui

A .NET library for computer vision and image processing.

OpenVision.Web.Core

A .NET library for computer vision and image processing.

OpenVision.Server.Core

A .NET library for computer vision and image processing.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0.6-alpha 27 2 days ago
1.0.0.5-alpha 33 3 days ago
1.0.0.4-alpha 31 3 days ago
1.0.0.3-alpha 43 7 days ago
1.0.0.2-alpha 45 7 days ago
1.0.0.1-alpha 48 7 days ago
1.0.0-alpha 49 7 days ago