Emgu CV
Библиотека обработки изображений .NET с открытым исходным кодом
C# API позволяет разработчикам программного обеспечения захватывать изображения с камеры или видеофайла, поддерживает геометрическое преобразование и многое другое.
Emgu CV — это кроссплатформенная оболочка .NET с открытым исходным кодом для библиотеки обработки изображений OpenCV, которая дает разработчикам программного обеспечения возможность создавать простые и расширенные изображения и управлять ими в своих собственных приложениях .NET. Его можно легко запустить на Windows, Linux, Mac OS, iOS и Android.
Emgu CV — это чистая реализация C#, которую можно использовать на нескольких разных языках, включая C#, VB.NET, C++ и IronPython. Библиотека включает несколько важных функций, связанных с обработкой изображений, таких как создание нового изображения, изменение изображений, захват изображений с камеры или видеофайла, запись изображений в видеоформат, сегментация фона, поддержка геометрического преобразования, поддержка оптического распознавания символов, сшивание изображений. и многое другое.
Начало работы с 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
}