![](https://products-qa.fileformat.com/lt/image/net/emgucv/header-image.png)
Emgu CV
Atvirojo kodo .NET vaizdo apdorojimo biblioteka
C# API leidžia programinės įrangos kūrėjams fiksuoti vaizdus iš fotoaparato arba vaizdo failo, palaiko geometrines transformacijas ir dar daugiau.
„Emgu CV“ yra atvirojo kodo kelių platformų .NET paketas, skirtas „OpenCV“ vaizdo apdorojimo bibliotekai, suteikiantis programinės įrangos kūrėjams galimybę atlikti paprastą ir pažangų vaizdų kūrimą ir manipuliavimą savo .NET programose. Jį galima sklandžiai paleisti „Windows“, „Linux“, „Mac OS“, „iOS“ ir „Android“ sistemose.
Emgu CV yra grynas C# diegimas, kurį galima naudoti keliomis skirtingomis kalbomis, įskaitant C#, VB.NET, C++ ir IronPython. Bibliotekoje yra keletas svarbių funkcijų, susijusių su vaizdo apdorojimu, pavyzdžiui, naujo vaizdo generavimas, vaizdų modifikavimas, vaizdų fiksavimas iš fotoaparato arba vaizdo failo, vaizdų įrašymas į vaizdo formatą, fono segmentavimas, geometrinių transformacijų palaikymas, optinio simbolių atpažinimo palaikymas, vaizdų susiuvimas. , ir daug daugiau.
Darbo su Emgu CV pradžia
Norėdami paleisti savo projektą naudodami Emgu CV, pirmiausia turite įdiegti .NET Runtime. Po to galėsite rankiniu būdu atsisiųsti saugyklą iš GitHub. Norėdami jį įdiegti, naudokite šią komandą.
Įdiekite „Emgu CV“ per „GitHub“.
git clone https://github.com/emgucv/emgucv.git
Vaizdo kūrimas ir tvarkymas naudojant .NET
Nemokama Emgu CV biblioteka leidžia programuotojams kurti programas, kurios gali lengvai kurti ir apdoroti vaizdus. Galite lengvai sukurti vaizdą, tačiau rekomenduojama sukurti vaizdo objektą. Naudodami valdomą klasę galite turėti keletą privalumų, pvz., automatinį atminties valdymą, automatinį šiukšlių surinkimą ir pažangius metodus, tokius kaip bendras vaizdo pikselių veikimas, konvertavimas į Bitmap ir pan. Galite lengvai reguliuoti dydį, pritaikyti spalvą, nurodyti vaizdo gylį ir dar daugiau
Sukurkite vaizdą per .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");
}
Kelio ženklų aptikimas per .NET API
Atvirojo kodo „Emgu CV“ API įtraukė palaikymą, leidžiantį lengvai aptikti srautą naudojant .NET komandas. Biblioteka padeda kūrėjams aptikti sustojimo ženklus iš vaizdų, užfiksuotų kameromis, kurios yra svarbi autonominės transporto priemonės navigacijos sistemos dalis. Tai labai naudinga ir gali padėti automobiliui saugiai važiuoti miesto aplinkoje. Pirmiausia kūrėjai turi išskirti raudonus eismo signalų aštuonkampius ir naudoti SURF, kad atitiktų kandidato regiono funkcijas.
Atlikite vaizdo susiuvimą naudodami CSharp
Emgu CV biblioteka padeda kūrėjams susieti vaizdus savo programose naudojant C# kodą. Tai labai naudingas procesas, norint sujungti kelis fotografinius vaizdus, kad būtų sukurta segmentuota panorama arba didelės raiškos vaizdas. Kad biblioteka veiktų, reikia tik kelių kodo eilučių, tačiau svarbu atsiminti, kad norint gauti tikslius rezultatus, reikia beveik tikslaus vaizdų sutapimo ir identiškų ekspozicijų.
Atlikite vaizdų susiuvimą naudodami .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
}