Les meilleurs développeurs informatique freelances sont sur Codeur.com

Application desktop d'annotation d'images

 Fermé·Plus de 10 000 €·21 offres·757 vues·46 interactions


Nous recherchons un freelance pour la réalisation d’une interface graphique permettant de visualiser, créer et manipuler des annotations sur des images. Les principales fonctionnalités attendues sont décrit ci-après.
Parcours d’images dans une base de donnée, avec un affichage multiple de type vignettes et défilement et un affichage image par image. Support de vidéos sur le même principe (la vidéo étant vue comme une suite d’images).
Les images à manipuler peuvent être de taille très diverses mais peuvent être potentiellement très grandes (plus de 65 535 pixels sur une dimension). Prévoir des fonctionnalités de défilement et de zoom permettant de parcourir l’image de manière simple et intuitive (par exemple avec une image réduite adjacente indiquant avec une boite où l’on se situe dans l’image). Prévoir éventuellement un mécanisme de découpage régulier de l’image avec une possibilité sélectionner/défiler très rapidement de zone en zone.
Une interface de visualisation et de manipulation d’annotations sur chaque image. Les annotations peuvent être de type géométrique (boite rectangulaire, polygone, ellipse…), ou sous forme pixelique. Les annotations peuvent être de différents types (par exemple un pour chaque type d’objet dans l’image) et une légende associée doit être affichée à côté de l’image avec un code couleur. La manipulation des annotations doit être simple et intuitive : déplacement de l’annotation par cliqué-déposé, agrandissement ou diminution avec des raccourcis clavier ou au curseur en sélectionnant l’arrête à manipuler. Création de nouvelles annotations par sélection du type géométrique dans une liste. Par exemple pour un polygone, sélection du type polygone et clic pour chaque sommet du polygone dans l’image. Pour une annotation de type pixelique, outil de type pinceau et gomme permettant de dessiner l’annotation.
Un menu permettant de sélectionner les opérations à effectuer sur les annotations sera présent et devra pouvoir être évolutif pour ajouter de nouvelles fonctionnalités (par exemple, transformation morphologique d’une annotation pixelique).
Un mécanisme de masques permettra de superposer plusieurs niveaux d’annotations (par exemple, un premier niveau d’annotation grossières avec boites rectangulaire, et un deuxième niveau d’annotations plus précises de type polygone ou pixelique).
Autres fonctionnalités à réaliser (par ordre de priorité) :
- Mécanisme annuler/rétablir pour l’édition des annotations
- Sélection et copier-coller d’annotations sur la même image ou d’une image à l’autre
- Possibilité de sélectionner les types d’annotation à afficher ou masquer
- Manipulation de groupe d’annotations (sélection et déplacement de plusieurs annotations simultanément)
- Affichage pouvant basculer sur les différentes composantes de l’image (par exemples composants individuelles R, G ou B pour une image RGB). Possibilité de manipuler l’espace colorimétrique de l’image pour l’affichage uniquement. Ce mécanisme doit pouvoir être étendu à d’autres types de transformation (par exemple, extraction de contours avec un filtre de Canny pour affichage)
- Parcours d’annotations : possibilité d’aller à l’annotation suivante (par exemple avec la touche TAB), possibilité de d’aller directement à une annotation avec sa position dans la base d’images complète
- Parcours de la base d’image par type d’annotation : possibilité de sélectionner une annotation est d’aller automatiquement à la prochaine annotation du même type, même si celle-ci se trouve sur une image différente
- Onglet dans le logiciel avec les statistiques d’annotation de la base : bare-graphe avec le nombre d’annotation pour chaque type
- Gestion de métadonnées associée à chaque annotation : par exemple nom de l’utilisateur et heure d’édition
Ce logiciel devra s’interfacer avec (ou faire évoluer selon le besoin) des structures en code C++ existantes contenant les données de la base d’image ainsi que les annotations. Ces structures permettent de charger des annotations dans différents formats. Une fonction de chargement et sauvegarde des annotations dans un format à définir (type JSON et/ou XML) devra également être développée.
Ce logiciel devra être portable et à minima compatible Linux (GCC) et Windows (Visual Studio).
La productivité liée à l’utilisation du logiciel, qui est envisagé pour annoter un grand nombre de d’images très rapidement, est très importante pour nous. Un soin particulier devra être apporté à la fluidité (affichage des images, déplacement du curseur en drag & drop…) et l’ergonomie, caractérisé par la rapidité à créer et manipuler les annotations (utilisation de raccourcis clavier pour passer d’une annotation à l’autre, pour déplacer, agrandir ou rétrécir une annotation…).
Les compétences nécessaires sont :
- Développement en C++11
- Conception d’interfaces GUI multiplateformes, avec par exemple la librarie Qt
- Expérience en interfaces de manipulation d’images (type logiciel de dessin par exemple)
- Connaissance de JSON est un plus
- Expérience avec OpenCV est un plus
Notre projet peut démarrer immédiatement et devra être achevé dans les 4 mois. Des phases ultérieures d’ajout de nouvelles fonctionnalités pourront être envisagées à la suite du bon déroulement de ce premier projet.

Budget indicatif : Plus de 10 000 €

Publication : 29 novembre 2018 à 15h21

Profils recherchés : Développeur spécifique freelance, Développeur C++ freelance

Le profil du client est reservé aux prestataires abonnés

Créer un compte

21 freelances ont répondu à ce projet

9 propositions de devis en moins de 2h

+14

Montant moyen des devis proposés : 5 750 €

Estimation du délai : 25 jours

Publier un projet similaire

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients

Votre navigateur Web n’est plus à jour. Il ne permet pas d’afficher correctement le site Codeur.com.
Nous vous invitons à mettre à jour votre navigateur ou à utiliser un autre navigateur plus récent.