Biblioteca C++ de código aberto para processamento paralelo de imagens
API C++ gratuita compatível com contêineres genéricos de imagens N-dimensionais, conjunto aprimorado de algoritmos de processamento de imagens e assim por diante.
O Video++ é uma poderosa API de edição de imagens C++ multi-threaded e multiplataforma que permite aos desenvolvedores de software trabalhar com imagens e arquivos de vídeo dentro de seus próprios aplicativos C++. A biblioteca é muito fácil de manusear e foi desenvolvida aproveitando os novos recursos do C++11/C++14. A principal ideia por trás do Video++ é reprojetar do zero uma estrutura de processamento de imagem aproveitando o novo padrão C++.
Uma grande da biblioteca Video é a definição fácil de kernels de de imagem paralela que até 32 vezes mais rápido do que a versão não-optimizada ingénua. A biblioteca incluiu vários recursos importantes, como contentores de imagens N-dimensional genéricos, um conjunto de algoritmos de de imagem, imento de cores, melhor gestão de memória, fronteira de imento, uso de subimagens 3D e muito mais.
A biblioteca forneceu uma para os contentores de imagem que acesso ao buffer de pixels e a outra informação para processar a imagem. Ele também interoperabilidade para openCV e conversões explícitas para e de OpenCV tipos de imagens.
Introdução ao Video++
Por favor, use o seguinte comando para uma instalação completa. O Video++ é somente cabeçalho, portanto, para acessar todos os recursos necessários, você deve incluir o cabeçalho vpp.h. Você também precisa obter o Eigen3 e o Boost em seu sistema antes de instalar o Video++.
Instalar vídeo através do comando git
git clone https://github.com/matt-42/vpp.git
cd vpp
./install.sh your_install_prefix # Install iod and vpp in a given prefix
Processamento paralelo de imagens via biblioteca C++
A biblioteca Video de código aberto permite que os desenvolvedores de software definam kernels para processar imagens paralelas usando C++ comandos. O grande é que os kernels podem correr 32 vezes mais rápido do que os. Ela espalhou a de kernels em todos os núcleos de CPU rodando vários fios em vários núcleos. Ele recursos como de enchimento com valor, de enche, definir o amento, pixels de imagem, filtros em imagens, e assim por diante.
Adição de imagem via C++
A biblioteca Video de código aberto forneceu completa para imagens usando o filtro pixel-wise. Oferece um conjunto de objetos e rotinas genéricos que escrever implementações eficientes de filtros simples rapidamente. filtros de de imagem são simples que enchem pixels com valores calculados, não apresentando dependência entre computações em diferentes pixels.
Adicionar imagem 2D através de C++
int main()
{
using namespace vpp;
image2d img1(make_box2d(100, 200), _border = 3);
image2d img2({100, 200});
assert(&img1(0,0) == &img1[0][0]);
assert(&img1(0,0) == &(*img1.begin()));
assert(img1.domain() == img2.domain());
assert(img1.nrows() == 100);
assert(img1.ncols() == 200);
{
image2d img(make_box2d(5, 5), _border = 1);
assert(&img(0,0) == img.address_of(vint2(0,0)));
assert(&img(4,0) == img.address_of(vint2(4,0)));
auto s1 = img.subimage(img.domain());
assert(&s1(0,0) == s1.address_of(vint2(0,0)));
for (auto p : img.domain())
assert(img(p) == img[p[0]][p[1]]);
for (auto p : img.domain())
assert(img(p) == s1[p[0]][p[1]]);
}
}