OpenVision.Shared 1.0.0.11-alpha

This is a prerelease version of OpenVision.Shared.
dotnet add package OpenVision.Shared --version 1.0.0.11-alpha
                    
NuGet\Install-Package OpenVision.Shared -Version 1.0.0.11-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.Shared" Version="1.0.0.11-alpha" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OpenVision.Shared" Version="1.0.0.11-alpha" />
                    
Directory.Packages.props
<PackageReference Include="OpenVision.Shared" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OpenVision.Shared --version 1.0.0.11-alpha
                    
#r "nuget: OpenVision.Shared, 1.0.0.11-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.
#:package OpenVision.Shared@1.0.0.11-alpha
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OpenVision.Shared&version=1.0.0.11-alpha&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=OpenVision.Shared&version=1.0.0.11-alpha&prerelease
                    
Install as a Cake Tool

OpenVision

Build Status
License

OpenVision is a powerful and modular Computer Vision SDK and full-stack web platform. It enables developers to build scalable, real-time, vision-powered applications for both desktop and web environments. With integrated support for authentication, containerization, and deployment, OpenVision accelerates your journey from prototype to production.


📚 Table of Contents


🧬 Overview

OpenVision offers both a versatile Computer Vision SDK and a production-ready web template (OpenVision.Web.Template) to streamline development of computer vision solutions.

🔧 Web Template Components

  • OpenVision.Server – Backend APIs and core logic
  • OpenVision.Client – ASP.NET Core frontend
  • OpenVision.IdentityServer – Authentication and authorization using Skoruba Duende IdentityServer
  • Docker & Aspire Integration – For containerized and cloud-native workflows

🔬 SDK Capabilities

  • Feature detection: AKAZE, ORB, SIFT, BRISK
  • Feature matching & homography estimation
  • Augmented Reality (AR) overlays
  • WebSocket support for real-time interactions
  • Cross-platform support (MAUI, WPF, WinUI)

🚀 Features

Web Template

  • ✅ Modular, scalable architecture
  • 🔐 Integrated identity management (SSO, OAuth2, OIDC)
  • 🐳 Docker-ready for cloud and on-prem deployments
  • 🧹 Extensible for enterprise or startup use cases

SDK

  • 🎯 Feature Detection: AKAZE, ORB, BRISK, SIFT
  • 🔗 Feature Matching: Brute Force, FLANN, etc.
  • 🧠 Homography & AR: Planar object detection, marker-based tracking
  • 🔍 Image Recognition: On-device or cloud-integrated
  • 🖥️ UI Frameworks: MAUI, WPF, WinUI
  • 🔄 Real-Time: Bi-directional vision task updates via WebSocket

🧰 Prerequisites

Ensure the following tools are installed:

  • .NET SDK 8.0+
  • Visual Studio 2022+ (with ASP.NET + Docker workloads)
  • Docker Desktop
  • Node.js (for frontend builds)
  • Git
  • mkcert (for local HTTPS)

🏁 Getting Started

1. Install the Web Template

dotnet new install OpenVision.Web.Template

2. Create a New Project

dotnet new OpenVision.Web.Template -n MyOpenVisionApp

▶️ Running the Project

Update Hosts File

Add these entries to your system's hosts file:

127.0.0.1 openvision.com www.openvision.com api.openvision.com auth.openvision.com account.openvision.com account-api.openvision.com
  • Linux: /etc/hosts
  • Windows: C:\Windows\System32\drivers\etc\hosts
Certificate Setup
Create the Root Certificate

Use mkcert to generate local self-signed certificates.

Note: On Windows, mkcert --install must be executed under elevated Administrator privileges.

cd shared/nginx/certs
mkcert --install
copy $env:LOCALAPPDATA\mkcert\rootCA-key.pem ./cacerts.pem
copy $env:LOCALAPPDATA\mkcert\rootCA.pem ./cacerts.crt
Create Certificates for openvision.com

Generate certificates for openvision.com including wildcards for subdomains. This ensures compatibility with the nginx proxy setup.

cd shared/nginx/certs
mkcert -cert-file openvision.com.crt -key-file openvision.com.key openvision.com *.openvision.com
mkcert -pkcs12 openvision.com.pfx openvision.com *.openvision.com
Start Services
docker-compose build
docker-compose up -d

🔹 Option 2: Aspire AppHost (Cloud-native Dev)

cd src/OpenVision.Aspire.AppHost
dotnet run

🔹 Option 3: Manual Startup (Debug/Dev Mode)

Start these projects individually:

  • OpenVision.Server
  • OpenVision.Client
  • OpenVision.IdentityServer.Admin
  • OpenVision.IdentityServer.STS.Identity
  • OpenVision.IdentityServer.Admin.Api

Use Visual Studio or dotnet run CLI.


📦 Client Library Installation

Install JavaScript dependencies for IdentityServer UIs:

cd src/OpenVision.IdentityServer.Admin
npm install

cd src/OpenVision.IdentityServer.STS.Identity
npm install

For advanced identity customization, see the Skoruba IdentityServer Admin Guide.


🤝 Contributing

We love contributions! To get started:

# Clone your fork
git clone https://github.com/YOUR_USERNAME/OpenVision.git
cd OpenVision

# Create a feature branch
git checkout -b feature/my-feature

# Push changes
git push origin feature/my-feature

Then open a pull request 🚀


📄 License

OpenVision is licensed under the MIT License – see the LICENSE file for details.


🙌 Acknowledgments

  • OpenVision Community & Contributors
  • Inspired by modern .NET, DevOps, and Computer Vision engineering best practices
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  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.  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.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on OpenVision.Shared:

Package Downloads
OpenVision.Core

A .NET library for computer vision and image processing.

OpenVision.Api.Core

A .NET library for computer vision and image processing.

OpenVision.Client.Core

A .NET library for computer vision and image processing.

OpenVision.EntityFramework

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.11-alpha 235 4/13/2025
1.0.0.10-alpha 158 4/13/2025
1.0.0.9-alpha 135 4/12/2025
1.0.0.8-alpha 214 4/8/2025
1.0.0.7-alpha 185 4/1/2025
1.0.0.6-alpha 165 3/26/2025
1.0.0.5-alpha 512 3/25/2025
1.0.0.4-alpha 520 3/25/2025
1.0.0.3-alpha 125 3/21/2025
1.0.0.2-alpha 129 3/21/2025
1.0.0.1-alpha 136 3/21/2025
1.0.0-alpha 133 3/21/2025