Emgu CV
Biblioteka przetwarzania obrazu Open Source .NET
C# API umożliwia programistom przechwytywanie obrazów z kamery lub pliku wideo, obsługę transformacji geometrycznej i wiele więcej.
Emgu CV to wieloplatformowe opakowanie .NET typu open source do biblioteki przetwarzania obrazów OpenCV, które daje programistom możliwość wykonywania prostego i zaawansowanego tworzenia i manipulowania obrazami we własnych aplikacjach .NET. Może z łatwością działać w systemach Windows, Linux, Mac OS, iOS i Android.
Emgu CV to czysta implementacja C#, która może być używana w kilku różnych językach, w tym C#, VB.NET, C++ i IronPython. Biblioteka zawiera kilka ważnych funkcji związanych z przetwarzaniem obrazu, takich jak generowanie nowego obrazu, modyfikowanie obrazów, przechwytywanie obrazów z kamery lub pliku wideo, zapisywanie obrazów do formatu wideo, segmentacja tła, obsługa transformacji geometrycznej, obsługa optycznego rozpoznawania znaków, łączenie obrazów , i wiele więcej.
Pierwsze kroki z Emgu CV
Aby uruchomić swój projekt za pomocą Emgu CV, musisz przede wszystkim zainstalować środowisko uruchomieniowe .NET. Następnie możesz ręcznie pobrać repozytorium z GitHub. Użyj następującego polecenia, aby go zainstalować.
Zainstaluj Emgu CV przez GitHub
git clone https://github.com/emgucv/emgucv.git
Tworzenie i zarządzanie obrazem przez .NET
Bezpłatna biblioteka Emgu CV umożliwia programistom tworzenie aplikacji, które mogą z łatwością tworzyć i przetwarzać obrazy. Możesz łatwo stworzyć obraz, ale zaleca się skonstruowanie obiektu obrazu. Korzystanie z klasy managed może mieć kilka zalet, takich jak automatyczne zarządzanie pamięcią, automatyczne usuwanie elementów bezużytecznych i zawiera zaawansowane metody, takie jak ogólne operacje na pikselach obrazu, konwersja do bitmapy i tak dalej. Możesz łatwo dostosować rozmiar, zastosować kolor, określić głębię obrazu i wiele więcej
Utwórz obraz przez .NET
//Create an image of 400x200 of Blue color
using (Image img = new Image(400, 200, new Bgr(255, 0, 0)))
{
//Create the font
MCvFont f = new MCvFont(CvEnum.FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0);
//Draw "Hello, world." on the image using the specific font
img.Draw("Hello, world", ref f, new Point(10, 80), new Bgr(0, 255, 0));
//Show the image using ImageViewer from Emgu.CV.UI
ImageViewer.Show(img, "Test Window");
}
Wykrywanie znaków drogowych przez .NET API
Open source Emgu CV API zawiera obsługę łatwego wykrywania ruchu przy użyciu poleceń .NET. Biblioteka pomaga programistom wykrywać znaki stopu na podstawie obrazów zarejestrowanych przez kamery, co jest ważną częścią systemu nawigacji pojazdów autonomicznych. Jest to bardzo przydatne i może pomóc w bezpiecznym poruszaniu się samochodu w środowisku miejskim. W pierwszym kroku programiści muszą wyodrębnić czerwone ośmiokąty z sygnałów drogowych i mogą użyć SURF, aby dopasować cechy w regionie kandydującym, aby je dopasować.
Wykonaj łączenie obrazów za pomocą CSharp
Biblioteka Emgu CV pomaga programistom w wykonywaniu łączenia obrazów we własnych aplikacjach przy użyciu kodu C#. Jest to bardzo przydatny proces łączenia wielu obrazów fotograficznych w celu wygenerowania podzielonej na segmenty panoramy lub obrazu o wysokiej rozdzielczości. Biblioteka wymaga tylko kilku linijek kodu, aby to wykonać, ale ważne jest, aby pamiętać, że dla dokładnych wyników wymagane są prawie dokładne nakładanie się obrazów i identyczne ekspozycje.
Wykonaj łączenie obrazów przez .NET
using (Stitcher stitcher = new Stitcher(
//This indicate if the Stitcher should use GPU for processing.
//There is currently a bug in Open CV such that GPU processing cannot produce the correct result.
//Must specify false as parameter. Hope this will be fixed soon to enable GPU processing
false
))
{
Image result = stitcher.Stitch(sourceImages);
// code to display or save the result
}