OpenCvSharp VS Silk.NET

Compare OpenCvSharp vs Silk.NET and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
OpenCvSharp Silk.NET
9 36
5,150 3,768
- 4.6%
7.4 5.2
14 days ago 7 days ago
C# C#
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

OpenCvSharp

Posts with mentions or reviews of OpenCvSharp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-12.
  • Image Feature Detection and Matching using OpenCvSharp - First Steps Towards VinylEye
    2 projects | dev.to | 12 Jan 2023
    In a previous post, I have gone through the process for building a Docker Image for OpenCVSharp that supports multiple processor architectures.
  • Does there exist an API accessible from C# that detects faces in images?
    2 projects | /r/AskProgramming | 4 Jan 2023
    Alternatively, you can get into the nitty gritty of face detection yourself. OpenCV is a massive, open source project for all kinds computer vision tasks. Without jumping into the proprietary world, this is one of the most popular and capable computer vision libraries available. While powerful, OpenCV is comparatively low level; giving you the tools you need to accomplish your task, rather than a direct, single method to call. This tutorial goes into depth on how you'd go about training facial models to create your own detection methods. You'll notice that the example is written in C++. The con with this option (aside from it being more complex) is that OpenCV is largely used in the context of C++ or Python. However, it does have C# wrappers. Emgu CV is probably the most popular .NET wrapper for OpenCV, though there are other wrappers available. Here is a nice tutorial using OpenCVSharp, which is a bit closer to the native C++ API OpenCV uses.
  • Compress/resize images
    7 projects | /r/dotnet | 14 Dec 2022
    Another option for more advanced image manipulation - use OpenCV wrapper like opencvsharp. I haven't done much benchmarking, but from my understanding this is considerably faster option than anything made in managed code (like ImageSharp), but coming at the cost of native dependency and a bit more C++-style API and other quirks of OpenCV.
  • Creating a NuGet package with static dependencies AND a native assembly wrapper?
    1 project | /r/dotnet | 11 Oct 2022
  • Universal UI testing based on image and text recognition
    5 projects | dev.to | 5 Jul 2022
    In order to do so, I had to learn about the basics of image processing. I was able to find an image within another with a technique called template matching, and I used an OpenCV wrapper made for .NET. I will not go through the technical details here, but you can find the relevant source code in my GitHub repository.
  • Docker multi-architecture, .NET 6.0 and OpenCVSharp
    6 projects | dev.to | 17 May 2022
    FROM debian:bullseye-slim AS build-native-env ARG TARGETPLATFORM ENV DEBIAN_FRONTEND=noninteractive # 4.5.5: released 25 Dec 2021 ENV OPENCV_VERSION=4.5.5 # 4.5.3.20211228: released 28 Dec 2021 ENV OPENCVSHARP_VERSION=4.5.3.20211228 WORKDIR / # install dependencies required for building OpenCV and OpenCvSharpExtern RUN apt-get update && apt-get -y install --no-install-recommends \ # details omitted \ libgdiplus # Get OpenCV and opencv-contrib sources using the specified release. RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \ unzip ${OPENCV_VERSION}.zip && \ rm ${OPENCV_VERSION}.zip && \ mv opencv-${OPENCV_VERSION} opencv RUN wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && \ unzip ${OPENCV_VERSION}.zip && \ rm ${OPENCV_VERSION}.zip && \ mv opencv_contrib-${OPENCV_VERSION} opencv_contrib # configure and build OpenCV optionally specifying architecture related cmake options. RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ ADDITIONAL_FLAGS='' ; \ elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ ADDITIONAL_FLAGS='-D ENABLE_NEON=ON -D CPU_BASELINE=NEON ' ; \ elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then \ ADDITIONAL_FLAGS='-D CPU_BASELINE=NEON -D ENABLE_NEON=ON ' ; \ fi && cd opencv && mkdir build && cd build && \ cmake $ADDITIONAL_FLAGS \ # additional flags omitted for clarity \ && make -j$(nproc) \ && make install \ && ldconfig # Download OpenCvSharp to build OpenCvSharpExtern native library RUN git clone https://github.com/shimat/opencvsharp.git RUN cd opencvsharp && git fetch --all --tags --prune && git checkout ${OPENCVSHARP_VERSION} WORKDIR /opencvsharp/src RUN mkdir /opencvsharp/make \ && cd /opencvsharp/make \ && cmake -D CMAKE_INSTALL_PREFIX=/opencvsharp/make /opencvsharp/src \ && make -j$(nproc) \ && make install \ && cp /opencvsharp/make/OpenCvSharpExtern/libOpenCvSharpExtern.so /usr/lib/ \ && ldconfig # Copy the library and dependencies to /artifacts (to be used by images consuming this build) # cpld.sh will copy the library we specify (./libOpenCvSharpExtern.so) and any dependencies # to the /artifacts directory. This is useful for sharing the library with other images # consuming this build. # credits: Hemanth.HM -> https://h3manth.com/content/copying-shared-library-dependencies WORKDIR /opencvsharp/make/OpenCvSharpExtern COPY cpld.sh . RUN chmod +x cpld.sh && \ mkdir /artifacts && \ ./cpld.sh ./libOpenCvSharpExtern.so /artifacts/ RUN cp ./libOpenCvSharpExtern.so /artifacts/ # Publish the artefacts using a clean image FROM debian:bullseye-slim AS final RUN mkdir /artifacts COPY --from=build-native-env /artifacts/ /artifacts WORKDIR /artifacts
  • Why we can’t use C++ in WPF?
    1 project | /r/dotnet | 27 Dec 2021
  • What's the fastest way to get pixel data from a Bitmap?
    6 projects | /r/csharp | 29 Sep 2021
    Maybe opencv will be faster? https://github.com/shimat/opencvsharp
  • image classification in .net with webcam
    1 project | /r/Lobe | 24 Feb 2021
    hello. the quickest way to access webcam in .NET would be use this package shimat/opencvsharp: OpenCV wrapper for .NET (github.com) and give feedback about using the lobe.OpenCVSharp binding to help you classify the images

Silk.NET

Posts with mentions or reviews of Silk.NET. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-08.
  • How to Use the Foreign Function API in Java 22 to Call C Libraries
    11 projects | news.ycombinator.com | 8 May 2024
    Genuine curiosity - what would be your motivation to use Java over C# here aside from familiarity (which is perfectly understandable)? The latter takes heavy focus on making sure to provide features like structs and pointers with little to no friction, you can even AOT compile it and statically link SDL2 into a single executable.

    But either way, if you want to try it out, then all it needs is

    - SDK from https://dot.net/download (or package manager of your choice if you are on Linux e.g. `sudo apt-get install dotnet-sdk-8.0`, !do not! use Homebrew if you are on macOS however, use .pkg installer)

    - C# extension for VS Code (DevKit is not needed)

    - SDL2 bindings: https://github.com/dotnet/Silk.NET

  • Is there a real time graphics llibrary in c#
    4 projects | /r/csharp | 17 May 2023
    A couple other options than what has been suggested so far: - TerraFX.Interop.Windows. Raw, blittable, 1:1 bindings for all Win32, D2D/D3D11/D3D12 APIs (there's also a version with Vulkan bindings). As close to doing #include as you can get in C#. This is my personal favorite, I use it in my own ComputeSharp library, and transitively we use it in the Microsoft Store too 🙂 - Silk.NET another version of high-performance bindings, more opinionated than TerraFX and with some additional helpers to make it a bit easier to use.
  • Math Game Project
    3 projects | /r/csharp | 14 May 2023
    Here is an example of using "releases" in GitHub: https://github.com/dotnet/Silk.NET/releases. Most repositories use releases and releases seem like they wpuld be appropriate for your repository too.
  • Is there a way to display 3D models on a page?
    2 projects | /r/dotnetMAUI | 4 May 2023
    I've been looking at this. Is this similar to the UrhoSharp project you talk about? https://github.com/dotnet/Silk.NET
  • [WinUI] High level 2D rendering library
    4 projects | /r/csharp | 27 Mar 2023
  • SDL2 + OpenGL in C#?
    3 projects | /r/gamedev | 17 Mar 2023
    Have you looked at Silk.NET before?
  • Using .NET with low level rendering code?
    1 project | /r/dotnet | 14 Feb 2023
    Take a look at https://github.com/dotnet/Silk.NET . You should be able to use your existing rendering context with it. So you could use something like imgui (They have bindings for that) to render your UI. Or if you just start writing your rendering code, you could consider writing the whole rendering engine with it. I used it in the past for a game engine and performance is no problem for most of the usecases.
  • Anybody using System.Numerics for 3D graphic applications?
    1 project | /r/dotnet | 29 Jan 2023
  • Cross-platform audio playback
    4 projects | /r/AvaloniaUI | 15 Jan 2023
  • C# Game engine - suggestions
    4 projects | /r/gameenginedevs | 29 Dec 2022

What are some alternatives?

When comparing OpenCvSharp and Silk.NET you can also consider the following projects:

Emgu CV - Emgu CV is a cross platform .Net wrapper to the OpenCV image processing library.

OpenTK - The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.

ImageSharp - :camera: A modern, cross-platform, 2D Graphics library for .NET

Veldrid - A low-level, portable graphics library for .NET.

ML.NET - ML.NET is an open source and cross-platform machine learning framework for .NET.

Vortice.Windows - .NET bindings for Direct3D12, Direct3D11, WIC, Direct2D1, XInput, XAudio, X3DAudio, DXC, Direct3D9 and DirectInput.

Magick.NET - The .NET library for ImageMagick

SharpDX

ImageProcessor - :camera: A fluent wrapper around System.Drawing for the processing of image files.

Interactive Data Display for WPF - Interactive Data Display for WPF is a set of controls for adding interactive visualization of dynamic data to your application. It allows to create line graphs, bubble charts, heat maps and other complex 2D plots which are very common in scientific software. Interactive Data Display for WPF integrates well with Bing Maps control to show data on a geographic map in latitude/longitude coordinates. The controls can also be operated programmatically.

MetadataExtractor - Extracts Exif, IPTC, XMP, ICC and other metadata from image, video and audio files

Win2D - Win2D is an easy-to-use Windows Runtime API for immediate mode 2D graphics rendering with GPU acceleration. It is available to C#, C++ and VB developers writing apps for the Windows Universal Platform (UWP). It utilizes the power of Direct2D, and integrates seamlessly with XAML and CoreWindow.