Pergunta

Eu estou começando a aprender sobre visão computacional e C #. Parece que duas bibliotecas de processamento de imagem proeminentes são OpenCV e AForge . Quais são algumas das diferenças dos dois?

Eu estou fazendo um editor de imagem básica em C # e enquanto pesquisava eu ??vim através de artigos em ambos. Mas eu realmente não sei por que eu iria escolher um sobre o outro. Eu gostaria de, eventualmente, melhorar o aplicativo para incluir funções mais avançadas.

Graças.

Foi útil?

Solução

Eu estou usando OpenCV para um projeto na escola agora, e eu consultei a documentação para AForge e sua característica parecem diferir. AForge tem muitos filtros e provavelmente é excelente para diferentes transformações e manipulação de imagem. Mas parece que falta um pouco em outras áreas. Eu não poderia encontrar quaisquer operações da matriz que foi uma decepção como é tão útil em visão computacional. Nosso projeto atual (3D reconstrução ponto de nuvem a partir de uma sequência de imagens) que, tanto quanto eu podia ver os documentos, seja impossível fazer apenas com AForge.

Combine AForge com um bom Álgebra Linear biblioteca e você pode ter algo que realmente útil.

Quanto OpenCV tem um rico conjunto de recursos, mas é um pouco complicado de programa com.

Outras dicas

Bem, por que não usar ambos;) ??

Eu estou usando (literalmente em C # ... lol) EMGUCV.NET (que é um # wrapper OpenCV C) e AFORGE.NET ao mesmo tempo:

AFORGE.NET além de sua "Processamento de Imagem Lab" faz muito sentido para filtrar opções (detecção de bordas, limites, e assim por diante) e facilitando funcionalidades de visualização.

OpenCV fornece todo o resto como SIFT / SURF e outras rotinas de processamento de imagem mais sofisticados.

É por isso que você usa .NET: basta levar todos os componentes que você precisa em um só aplicativo:)

Se você gostaria de melhorar a sua aplicação, com mais e mais avançadas funções como você disse, eu iria para OpenCV- no entanto, uma parte de seu sucesso depende do fato de que a porta de C # é ativamente atualizado, que shouldn' t ser muito de problemas considerando as três portas. Acho EmguCV parece ser um dos melhores agora em termos de atualizado, mas quando eu olhei para ele, carece de documentação (mas você provavelmente poderia traduzir o código C ++ em C # com alguns C ++ conhecimento). AForge parece muito mais fácil para mim e é isso que eu estou usando agora. OpenCV também tem suporte para arquivos haarcascade.xml você pode usar que incluem detecção de rosto.

Assim, para a tomada final: tanto mais lhe bem, OpenCV é mais amplamente utilizado / suportado (embora a maioria da base de usuários é C ++), AForge é mais fácil. Tudo se resume ao que você quer fazer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top