Le
OpenCV sono delle librerie open source dedicate allo sviluppo di applicazioni per la visione artificiale e l'elaborazione di immagini; il pacchetto con cui vengono distribuite include molti
algoritmi di calcolo complessi, che consentono di elaborare immagini e fornire dati
per il tracking e il riconoscimento di oggetti, sia in
immagini statiche, sia in sequenze animate, oltre a offrire funzionalità per il
riconoscimento facciale, per i gesti, per gli elementi in movimento e per la visione stereoscopica.
Sino all'ultima versione stabile rilasciata, queste librerie sono state pensate e realizzate per eseguire esclusivamente calcoli su insieme di dati e su file di immagini a basso livello, senza disporre di strumenti adeguati a visualizzare i risultati ottenuti in maniera più fruibile e gradevole per l'utente. La maggior parte dei comandi, infatti (così come il controllo delle immagini stampate a video) non poteva essere facilmente controllabile se non inserendo direttamente i comandi in una console, senza poter interagire in prima persona con l'interfaccia utente.
Fortunatamente, anche a seguito di molte richieste ricevute da
centinaia di sviluppatori sparsi in tutto il mondo, i progettisti hanno deciso di integrare nelle librerie il
supporto del framework Qt, che consente di inserire dei controlli nell'interfaccia utente delle applicazioni.
Al livello attuale, non sono ancora disponibili grandi funzionalità, tuttavia, dalla
documentazione ufficiale si nota come ora sia possibile utilizzare finestre con una
toolbar e una
status bar, che presentano i normali controlli generati dalle API del sistema operativo; si possono anche inserire dei
pulsanti di vario tipo e delle
trackbar particolarmente comode in alcuni casi.
Attualmente, esiste un
bug, già corretto ma non ancora disponibile per il
download, che impedisce il corretto funzionamento del trap della funzione
cvCreateButton() e rende inutile la dichiarazione della funzione di
callback così come viene riportata nel prototipo.