Emgu CV
Biblioteca de processamento de imagem .NET de código aberto
A API C# permite que os desenvolvedores de software capturem imagens de câmera ou arquivo de vídeo, suporte para transformação geométrica e muito mais.
O Emgu CV é um wrapper .NET multiplataforma de código aberto para a biblioteca de processamento de imagem OpenCV que oferece aos desenvolvedores de software a capacidade de criar e manipular imagens simples e avançadas dentro de seus próprios aplicativos .NET. Ele pode ser executado sem problemas no Windows, Linux, Mac OS, iOS e Android com facilidade.
Emgu CV é uma implementação C# pura que pode ser usada em várias linguagens diferentes, incluindo C#, VB.NET, C++ e IronPython. A biblioteca inclui vários recursos importantes relacionados ao processamento de imagens, como gerar uma nova imagem, modificar imagens, capturar imagens de câmera ou arquivo de vídeo, gravar imagens em formato de vídeo, segmentação de fundo, suporte a transformação geométrica, suporte a reconhecimento óptico de caracteres, costura de imagem , e muitos mais.
Introdução ao Emgu CV
Para executar seu projeto usando o Emgu CV, antes de tudo, você precisa instalar o .NET runtime. Depois disso, você pode baixar manualmente o repositório do GitHub. Use o seguinte comando para instalá-lo.
Instale o Emgu CV via GitHub
git clone https://github.com/emgucv/emgucv.git
Criando e Gerenciando Imagem via .NET
A biblioteca gratuita Emgu CV permite que os programadores de software criem aplicativos que podem criar e processar imagens com facilidade. Você pode criar uma imagem com facilidade, mas é sugerido construir um objeto de imagem. Usando a classe gerenciada você pode ter várias vantagens como gerenciamento automático de memória, coleta automática de lixo e contém métodos avançados como operação genérica em pixels de imagem, conversão para Bitmap, e assim por diante. Você pode facilmente ajustar o tamanho, aplicar cores, especificar a profundidade da imagem e muito mais
Criar imagem através de .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");
}
Detecção de Sinais de Tráfego via .NET API
A API Emgu CV de código aberto inclui suporte para detectar tráfego com facilidade usando comandos .NET. A biblioteca ajuda os desenvolvedores a detectar sinais de parada a partir de imagens capturadas por câmeras, o que é uma parte importante do sistema de navegação de veículos autônomos. É muito útil e pode ajudar o automóvel a navegar com segurança em um ambiente urbano. Na primeira etapa, os desenvolvedores precisam extrair octógonos vermelhos dos sinais de trânsito e podem usar o SURF para combinar recursos na região candidata.
Realize a costura de imagens via CSharp
A biblioteca Emgu CV ajuda os desenvolvedores a realizar a costura de imagens dentro de seus próprios aplicativos usando código C#. É um processo muito útil para combinar várias imagens fotográficas para gerar um panorama segmentado ou uma imagem de alta resolução. A biblioteca requer apenas algumas linhas de código para executá-la, mas é importante lembrar que, para resultados precisos, são necessárias sobreposições quase exatas entre imagens e exposições idênticas.
Executar Interruptor de Imagem através .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
}