Emgu CV
Open Source .NET Image Processing Library
C# API umožňuje vývojářům softwaru pořizovat snímky z fotoaparátu nebo videosouboru, podporuje geometrické transformace a mnoho dalšího.
Emgu CV je open source multiplatformní .NET obal pro knihovnu pro zpracování obrázků OpenCV, který dává softwarovým vývojářům možnost provádět jednoduché a pokročilé vytváření obrázků a manipulaci v jejich vlastních .NET aplikacích. Lze jej bez problémů spustit na Windows, Linux, Mac OS, iOS a Android.
Emgu CV je čistá implementace C#, kterou lze použít v několika různých jazycích, včetně C#, VB.NET, C++ a IronPython. Knihovna obsahuje několik důležitých funkcí souvisejících se zpracováním obrázků, jako je generování nového obrázku, úprava obrázků, zachycování obrázků z fotoaparátu nebo video souboru, zápis obrázků do formátu videa, segmentace pozadí, podpora geometrických transformací, podpora optického rozpoznávání znaků, spojování obrázků , a mnoho dalších.
Začínáme s Emgu CV
Chcete-li spustit svůj projekt pomocí Emgu CV, musíte nejprve nainstalovat .NET runtime. Poté si můžete repozitář stáhnout ručně z GitHubu. K instalaci použijte následující příkaz.
Nainstalujte Emgu CV přes GitHub
git clone https://github.com/emgucv/emgucv.git
Vytváření a správa obrázku přes .NET
Bezplatná knihovna životopisů Emgu umožňuje softwarovým programátorům vytvářet aplikace, které mohou snadno vytvářet a zpracovávat obrázky. Obrázek můžete vytvořit snadno, ale doporučuje se vytvořit objekt obrázku. Pomocí spravované třídy můžete mít několik výhod, jako je automatická správa paměti, automatické shromažďování odpadků a obsahuje pokročilé metody, jako je generická operace s obrazovými body, převod na bitmapu a tak dále. Můžete snadno upravit velikost, použít barvu, určit hloubku obrazu a mnoho dalšího
Vytvořte obrázek přes .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");
}
Detekce dopravních značek přes .NET API
Open source Emgu CV API obsahuje podporu pro snadnou detekci provozu pomocí příkazů .NET. Knihovna pomáhá vývojářům detekovat stopky ze snímků pořízených kamerami, což je důležitá součást navigačního systému autonomních vozidel. Je to velmi užitečné a může pomoci automobilu bezpečně se pohybovat v městském prostředí. V prvním kroku potřebují vývojáři extrahovat červené osmiúhelníky semaforů a mohou použít SURF k porovnání prvků v kandidátské oblasti, aby se s ní shodovaly.
Proveďte sešívání obrázků pomocí CSharp
Knihovna Emgu CV pomáhá vývojářům provádět spojování obrázků ve vlastních aplikacích pomocí kódu C#. Je to velmi užitečný proces pro kombinování více fotografických snímků za účelem vytvoření segmentovaného panoramatu nebo snímku s vysokým rozlišením. Knihovna vyžaduje k provedení pouze několik řádků kódu, ale je důležité si uvědomit, že pro přesné výsledky jsou vyžadovány téměř přesné přesahy mezi snímky a identické expozice.
Proveďte sešívání obrázků přes .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
}