Emgu CV 

 
 

Библиотека обработки изображений .NET с открытым исходным кодом 

C# API позволяет разработчикам программного обеспечения захватывать изображения с камеры или видеофайла, поддерживает геометрическое преобразование и многое другое.

Emgu CV — это кроссплатформенная оболочка .NET с открытым исходным кодом для библиотеки обработки изображений OpenCV, которая дает разработчикам программного обеспечения возможность создавать простые и расширенные изображения и управлять ими в своих собственных приложениях .NET. Его можно легко запустить на Windows, Linux, Mac OS, iOS и Android.

Emgu CV — это чистая реализация C#, которую можно использовать на нескольких разных языках, включая C#, VB.NET, C++ и IronPython. Библиотека включает несколько важных функций, связанных с обработкой изображений, таких как создание нового изображения, изменение изображений, захват изображений с камеры или видеофайла, запись изображений в видеоформат, сегментация фона, поддержка геометрического преобразования, поддержка оптического распознавания символов, сшивание изображений. и многое другое.

Previous Next

Начало работы с Emgu CV

Чтобы запустить свой проект с помощью Emgu CV, прежде всего, вам необходимо установить среду выполнения .NET. После этого вы можете вручную загрузить репозиторий с GitHub. Используйте следующую команду для его установки.

Установите Emgu CV через GitHub

git clone https://github.com/emgucv/emgucv.git

Создание образа и управление им через .NET

Бесплатная библиотека Emgu CV позволяет программистам создавать приложения, которые могут легко создавать и обрабатывать изображения. Вы можете легко создать изображение, но предлагается построить объект изображения. Используя управляемый класс, вы можете получить несколько преимуществ, таких как автоматическое управление памятью, автоматическая сборка мусора, а также содержит расширенные методы, такие как общие операции с пикселями изображения, преобразование в растровое изображение и т. д. Вы можете легко настроить размер, применить цвет, указать глубину изображения и многое другое.

Создайте изображение через . ET


  //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");
  }
  

Обнаружение дорожных знаков через .NET API

Emgu CV API с открытым исходным кодом включает поддержку для простого обнаружения трафика с помощью команд .NET. Библиотека помогает разработчикам обнаруживать знаки остановки на изображениях, снятых камерами, что является важной частью автономной навигационной системы транспортных средств. Это очень полезно и может помочь автомобилю безопасно ориентироваться в городских условиях. На первом этапе разработчикам необходимо извлечь красные восьмиугольники сигналов светофора, и они могут использовать SURF для сопоставления функций в регионе-кандидате, чтобы сопоставить его.

Выполнение сшивания изображений с помощью CSharp

Библиотека Emgu CV помогает разработчикам выполнять сшивку изображений в своих собственных приложениях с помощью кода C#. Это очень полезный процесс объединения нескольких фотографических изображений для создания сегментированной панорамы или изображения с высоким разрешением. Библиотеке требуется всего пара строк кода для ее выполнения, но важно помнить, что для получения точных результатов требуются почти точные перекрытия между изображениями и одинаковые экспозиции.

Переключение изображения через .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 
  }
 Русский