1. Des produits
  2.   Image
  3.   C++
  4.   Video++
 
  

Bibliothèque C++ Open Source pour le traitement d'images en parallèle 

API C++ gratuite prenant en charge les conteneurs d'images génériques à N dimensions, un ensemble amélioré d'algorithmes de traitement d'images, etc.

Video++ est une puissante API d'édition d'images C++ multithread et multiplateforme qui permet aux développeurs de logiciels de travailler avec des images et des fichiers vidéo dans leurs propres applications C++. La bibliothèque est très facile à manipuler et est développée en tirant parti des nouvelles fonctionnalités de C++11/C++14. L'idée principale derrière Video++ est de reconcevoir à partir de zéro un cadre de traitement d'image en tirant parti de la nouvelle norme C++.

L'une des grandes caractéristiques de la bibliothèque Vidéo est la définition facile des amandes parallèles de traitement d'images qui s'étendent jusqu'à 32 fois plus rapidement que la version na ve non optimisée. La bibliothèque a inclus plusieurs éléments importants tels que les contenants d'images numériques N-dimensionnels, un ensemble amélioré d'algorithmes de traitement d'images, la couleur de remplissage, la gestion de la mémoire, l'utilisation de sous-images 3D et beaucoup plus.

La bibliothèque a fourni une caractéristique utile pour accéder aux contenants d'image qui permettent l'accès au tampon pixel et à une autre information utile pour traiter l'image. Elle assure également l'interopérabilité à openCV et soutient des conversions explicites à OpenCV types d'images et à partir de OpenCV.

Previous Next

Premiers pas avec la vidéo++

Veuillez utiliser la commande suivante pour une installation complète. La vidéo ++ est uniquement en-tête, donc pour accéder à toutes les fonctionnalités nécessaires, vous devez inclure l'en-tête vpp.h. Vous devez également obtenir Eigen3 et Boost sur votre système avant d'installer Video++.

Installez Vidéo par commande de 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

Traitement d'image parallèle via la bibliothèque C++

La bibliothèque Vidéo à source ouverte permet aux concepteurs de logiciels de définir des amandes pour le traitement d'images parallèles en utilisant C++ commandes. La grande chose est que les cerneaux peuvent fonctionner 32 fois plus rapidement que les cerneaux normaux. Il a également réparti l'exécution des cerneaux sur tous les carottes de l'UPC disponibles qui font plusieurs fils sur plusieurs carottes. Elle appuie des caractéristiques comme le remplissage des frontières avec la valeur, le remplissage du miroir frontalier, l'alignement, l'accès aux pixels d'images, l'application de filtres sur images, etc.

Ajout d'images via C++

La bibliothèque de la source ouverte Vidéo a fourni une fonctionnalité complète pour ajouter des images à l'aide d'un filtre pixel. Il offre un ensemble d'objets et de routines génériques qui permettent de rédiger rapidement des mises en oeuvre efficaces de filtres simples. De nombreux filtres de traitement d'images sont des fonctions simples qui remplissent des pixels avec des valeurs calculées, ce qui ne présente aucune dépendance entre les calculs concernant différents pixels.

Ajouter l'image 2D par 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]]);
  }
}
 Français