Emgu CV
Nyílt forráskódú .NET képfeldolgozási könyvtár
A C# API lehetővé teszi a szoftverfejlesztők számára, hogy képeket készítsenek akár kamerából, akár videofájlból, geometriai transzformáció támogatást és még sok mást.
Az Emgu CV egy nyílt forráskódú, többplatformos .NET-burkoló az OpenCV képfeldolgozó könyvtárhoz, amely lehetővé teszi a szoftverfejlesztők számára, hogy egyszerű és fejlett képalkotást és kezelést végezzenek saját .NET-alkalmazásaikon belül. Könnyedén futtatható Windows, Linux, Mac OS, iOS és Android rendszeren.
Az Emgu CV egy tiszta C# implementáció, amely számos különböző nyelven használható, beleértve a C#-t, a VB.NET-t, a C++-t és az IronPythont. A könyvtár számos, a képfeldolgozáshoz kapcsolódó fontos funkciót tartalmazott, mint például új kép létrehozása, képek módosítása, képek rögzítése akár kamerából, akár videofájlból, képek írása videó formátumba, háttérszegmentálás, geometriai transzformáció támogatása, optikai karakterfelismerés támogatása, képösszefűzés , és még sok más.
Kezdő lépések az Emgu CV-vel
A projekt Emgu CV használatával való futtatásához először is telepítenie kell a .NET futtatókörnyezetet. Ezt követően manuálisan letöltheti a tárat a GitHub webhelyről. A telepítéshez használja a következő parancsot.
Telepítse az Emgu CV-t a GitHubon keresztül
git clone https://github.com/emgucv/emgucv.git
Kép létrehozása és kezelése .NET-en keresztül
Az ingyenes Emgu CV könyvtár lehetővé teszi a szoftverprogramozók számára, hogy olyan alkalmazásokat hozzanak létre, amelyek könnyedén hozhatnak létre és dolgozhatnak fel képeket. Könnyen létrehozhat képet, de ajánlatos képobjektumot készíteni. A felügyelt osztály használatával számos előnnyel járhat, mint például az automatikus memóriakezelés, az automatikus szemétgyűjtés, és olyan fejlett módszereket is tartalmaz, mint például a képpontok általános művelete, bittérképre konvertálás stb. Könnyedén beállíthatja a méretet, alkalmazhat színt, megadhatja a képmélységet és még sok mást
Kép létrehozása .NET-en keresztül
//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");
}
Közlekedési táblák észlelése .NET API-n keresztül
A nyílt forráskódú Emgu CV API támogatja a forgalom zengésének egyszerű észlelését .NET-parancsok használatával. A könyvtár segít a fejlesztőknek a stoptáblák észlelésében a kamerák által rögzített képek alapján, amelyek az autonóm járműnavigációs rendszer fontos részét képezik. Nagyon hasznos, és segíthet az autónak abban, hogy biztonságosan navigáljon városi környezetben. Első lépésben a fejlesztőknek vörös nyolcszögeket kell kivonniuk a közlekedési jelzésekből, és a SURF segítségével egyeztethetik a jelölt régió jellemzőit.
Végezze el a képösszefűzést a CSharp segítségével
Az Emgu CV-könyvtár segít a fejlesztőknek, hogy C#-kóddal képösszefűzést hajtsanak végre saját alkalmazásaikban. Ez egy nagyon hasznos eljárás több fényképes kép kombinálására szegmentált panoráma vagy nagy felbontású kép létrehozásához. A könyvtárnak csak néhány sornyi kódra van szüksége a végrehajtásához, de fontos megjegyezni, hogy a pontos eredményekhez szinte pontos átfedések szükségesek a képek és az azonos expozíciók között.
Végezze el a képösszefűzést .NET-en keresztül
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
}