Non categorializzato

Introduzione a Computer Vision con la libreria OpenCV su Linux

Introduzione a Computer Vision con la libreria OpenCV su Linux

Astratto

Lo scopo di questo documento è di aiutare un lettore a iniziare con la libreria per la visione di computer OpenCV sul sistema Linux. OpenCCV è una libreria multipiattaforma, ma questo articolo sarà focalizzato solo su OpenCV utilizzando il sistema operativo Linux (sebbene, solo l'installazione della libreria OpenCV e della videocamera è specifica della piattaforma, tutti gli esempi in questo articolo dovrebbero compilare su qualsiasi piattaforma in cui la piattaforma dove OpenCV è correttamente installato come Mac OS, MS Windows e ecc.). Il lettore verrà guidato attraverso una guida passo-passo su come installare e utilizzare alcune delle funzioni di base della libreria OpenCV come visualizzare immagini, riprodurre un video o utilizzare una videocamera per elaborare un flusso di input video.

Convenzioni utilizzate in questo articolo:

introduzione

In parole semplici una visione artificiale è un campo scientifico che tenta di fornire uno spettacolo alla macchina. Questo campo scientifico si è ampliato rapidamente negli ultimi anni. Tra i ricercatori questa crescita è dovuta a molti miglioramenti degli algoritmi di visione e tra gli hobbisti della visione artificiale ciò è dovuto ai componenti hardware più economici e al potere di elaborazione. La biblioteca OpenCV svolge un ruolo importante nel campo della visione artificiale in quanto aiuta a ridurre molto i tempi di costi e preparazione dell'ambiente di ricerca sulla visione artificiale necessaria per studenti universitari, hobbisti e professionisti. OpenCV fornisce anche funzioni semplici da usare per svolgere il lavoro in modo semplice, efficace ed elegante. OpenCV è stato avviato da Intel e in seguito è stato trasformato in un progetto open source ora disponibile su SourceForge.netto. La libreria OpenCV ha una disponibilità multipiattaforma ed è parzialmente scritta in lingua C ++ e C. Nonostante il fatto che questa libreria sia disponibile su molte distribuzioni Linux dai suoi repository di pacchetto pertinenti, in questo articolo tenteremo di installare e utilizzare la libreria OpenCV compilata da un codice sorgente scaricato da SourceForge.Sito Web netto.

I motivi per la compilazione di un codice sorgente possono includere:

Questo articolo inizierà con l'installazione di OpenCV su Debian 5.0 (Lenny). Successivamente un lettore verrà guidato attraverso una serie di esempi su come utilizzare OpenCV per visualizzare un'immagine, riprodurre un video e utilizzare la fotocamera per acquisire il flusso di input video.

Installazione

La sezione seguente descriverà un processo di installazione della libreria OpenCV costruendo un binari da un codice sorgente disponibile da SourceForge.netto. La procedura di installazione dimostrata qui è stata testata su Debian 5.0 (Lenny) e Ubuntu 9.10 (Karmic Koala). La procedura di installazione effettiva dovrebbe essere simile o esattamente uguale per la maggior parte delle distribuzioni Linux a parte il primo passaggio in cui le dipendenze del pacchetto sono installate dai pertinenti repository di distribuzione di Debian e Ubuntu. Sul sistema RPM Linux è possibile consultare lo strumento RED HAT PACKE GESTIONE) per alternative ai prerequisiti OpenCV descritti nella sezione successiva.

Prerequisiti

Innanzitutto, ciò che deve essere fatto è l'installazione dei prerequisiti richiesti richiesti dalla libreria OpenCV. L'elenco delle dipendenze può essere leggermente modificato in base alle tue esigenze:

Il seguente comando Linux prenderà e installerà automaticamente tutti i pacchetti richiesti e le sue dipendenze:

# Apt-get Installa libavformat-dev libgtk2.0-dev pkg-config cmake libswscale-dev bzip2

Ottenere il codice sorgente OpenCV

La versione attuale della libreria OpenCV al momento della scrittura è una versione 2.0.0. Puoi scaricare un codice sorgente OpenCV puntando il tuo browser Web su OpenCV-SourceForge.NET o utilizzare il comando WGET per acquisire un codice sorgente direttamente sulla riga di comando:

$ wget http: // downloads.FORNEFORGE.Net/Project/OpenCVLibrary/OpenCV-UNIX/2.0/OpenCV-2.0.0.catrame.BZ2

Estratto il codice sorgente OpenCV

Sia che tu abbia utilizzato il browser Web o l'utilità WGET per scaricare il codice sorgente della libreria OpenCV, dovresti finire con OpenCV-2.0.0.catrame.BZ2 Tarball nella tua attuale directory di lavoro. Il prossimo passo è estrarre i file di origine con il comando TAR. Il seguente comando Linux estraggerà tutti i file in OpenCV-2.0.0 directory:

$ TAR XVJF OpenCV-2.0.0.catrame.BZ2

Nuovo OpenCV-2.0.0 directory (ca. 67 MB) dovrebbe essere ora disponibile nella directory di lavoro corrente e conterrà tutti i file di origine necessari per una compilation.

Compilazione e installazione di binari di OpenCV

Per compilare il codice sorgente OpenCV, utilizzeremo un cmake del sistema. I seguenti flag di compilazione di configurazione CMake saranno impostati:

NOTA: L'utilità CMAKE per impostazione predefinita non fornisce un modo per disinstallare il progetto da un sistema. Se hai bisogno di disinstallare OpenCCV dal tuo sistema, è necessario apportare modifiche appropriate prima di procedere con la compilation.

Passare a OpenCV-2.0.0 directory contenente un codice sorgente:

$ CD OpenCV-2.0.0/

Crea e naviga su una nuova directory da utilizzare da CMAKE. I in questo caso, il nome della directory è uguale al tipo di progetto, "versione":

rilascio di $ mkdir; Rilascio di CD

Utilizzare Cmake per creare un file di configurazione con flag di configurazione sopra descritti:

NOTA: CMAKE_INSTALL_PREFIX FLAG può essere impostato su qualsiasi percorso di installazione desiderato

cmake -d cmake_build_type = rilascio -d cmake_install_prefix =/usr/local -d build_python_support = su .. 

Dopo l'esecuzione del comando cmake, il riepilogo dell'installazione sarà visualizzato e apparirà simile a quello sotto.

PRODUZIONE:
- Configurazione generale per OpenCV 2.0.0 ======================================
-
- Compilatore:
- Flag C ++ (versione): -wall -pThread -ffunction -sections -o3 -dndebug -fomit -frame -pointer -o3 -ffast -math -mmmx -dndebug
- Flag C ++ (debug): -wall -pThread -ffunction -sections -g -o0 -ddebug -d_debug
- Linker Flags (versione):
- Linker Flags (debug):
-
- GUI:
- GTK+ 2.X: 1
- GThread: 1
-
- Immagine I/O:
- JPEG: vero
- PNG: vero
- Tiff: Falso
- Jasper: Falso
-
- Video I/O:
- DC1394 1.X: 0
- DC1394 2.X: 0
- Ffmpeg: 1
- Codec: 1
- Formato: 1
- util: 1
- swscale: 1
- in stile Gentoo: 1
- Gstreamer: 0
- Unicap:
- V4L/V4L2: 1/1
- Xine: 0
-
- Interfacce:
- Old Python: 0
- Python: On
- Usa IPP: no
- Build Documentation 0
-
- Installa percorso: /usr /locale
-
- cvconfig.H è in:/home/sandbox/opencv-2.0.0/rilascio
- -
-
- Configurazione fatta
- Generazione fatta
- I file di build sono stati scritti su:/home/sandbox/opencv-2.0.0/rilascio

Quando l'esecuzione del comando cmake non ha prodotto errori, allora siamo pronti a compilare un codice sorgente.:

NOTA: Ci saranno una serie di messaggi di avvertimento mostrati nel tuo terminale durante un processo di build. Questi messaggi di avvertimento possono essere ignorati, a meno che non incidono le impostazioni dell'ambiente OpenCV preferite!

$ make

Se non sono stati visualizzati errori sul terminale e la finestra di dialogo Progressi raggiunta [100%] durante il processo di build, siamo pronti a installare librerie OpenCV. L'installazione è facoltativa fintanto che la variabile ambientale LD_Library_Path è collegata a una directory di OpenCV appropriata. Se si desidera installare OpenCV in /USR /Local come impostata dai flag CMake sopra, eseguire un comando Linux seguente:

# Installa l'installazione

Esporta il percorso corretto sulla variabile di ambiente LD_Library_Path e utilizza LDConfig per collegarsi dinamicamente a una libreria OpenCV:

$ EXPORT LD_LIBRARY_PATH =/usr/local/lib/: $ ld_library_path
# ldconfig

Se non si desidera installare la libreria OpenCV, è necessario esportare un percorso corretto per la libreria OpenCV Build Directory per far sapere al tuo sistema dove si trova la libreria. .0.0/Rilascia quindi il tuo percorso di esportazione sembrerà così:

$ EXPORT LD_LIBRARY_PATH = ~/OpenCV-2.0.0/rilascio/: $ ld_library_path
# ldconfig

Ciò completa una procedura di installazione della libreria OpenCV. Per ulteriori informazioni relative alla Guida di installazione di OpenCV di installazione di OpenCV.

Esempi di opencv

Senza prolungare una discussione su cosa sia la visione del computer e su come è correlato a OpenCV, ora passeremo direttamente ad alcuni esempi su come scrivere, compilare ed eseguire semplici programmi usando la libreria OpenCV. Se sei interessato a un'introduzione più intensa a Computer Vision e OpenCV ti consiglio un libro: "Imparare OpenCv: Computer Vision con la libreria OpenCV di Gary Bradski e Adrian Kaehler".

Una conversione dell'immagine

Cominciamo con qualcosa di veramente semplice e cioè 7 righe di codice per convertire l'immagine tra i seguenti tipi di immagini:

Il seguente programma accetterà due argomenti di comando, immagine di origine e immagine di destinazione. L'immagine di origine verrà memorizzata come tipo di immagine specificato dall'estensione del file di immagine di destinazione. Salva il seguente codice in un file chiamato Image Conversion.C :

#include "highgui.H"
int main (int argc, char ** argv)
IPlimage* img = cvloadImage (argv [1]);
cvSaveImage (Argv [2], IMG);
cvreleaseimage (& img);
return0;

Il codice sorgente del nostro nuovo programma è pronto e qui arriva la parte della compilation. Supponendo di aver salvato il tuo primo programma OpenCV come conversione delle immagini.C È possibile compilare il tuo programma con il seguente comando Linux:

$ g ++ 'pkg-config opencv-cflags--libs "conversione dell'immagine.C -O Conversione delle immagini

Dopo la compilation riuscita, viene creato un nuovo file binario eseguibile denominato la Conversione di immagini nella directory di lavoro corrente. Prima di testare questo nuovo programma, abbiamo bisogno di un'immagine di esempio:

$ wget -o immagine.png http: // www.LinuxConfig.Org/Templates/Rhuk_Milkyway/Images/MW_Joomla_Logo.png

Wget ha scaricato e salvato un'immagine dell'immagine.PNG nella tua directory corrente e ora possiamo tentare di convertire questa immagine in qualsiasi tipo di immagine elencato. Il seguente comando Linux convertirà il tipo di immagine PNG in jpg. Supponendo che la compilation del programma non abbia prodotto errori e il tuo file binario viene salvato come conversione delle immagini è possibile convertire tra due tipi di immagine con il seguente comando Linux:

$ ./Immagine di conversione dell'immagine.Immagine PNG.jpg

Per confermare che l'immagine è stata convertita, un comando file può essere utilizzato per visualizzare un tipo di file per un determinato file come argomento:

$ File immagine.*

PRODUZIONE:
Immagine.JPG: JPEG Image Data, JFIF Standard 1.01
Immagine.PNG: immagine PNG, 270 x 105, RGBA a 8 bit/colore, non interla

Quando si guardano ancora una volta il comando di compilazione, puoi osservare che un'utilità PKG -config era stata utilizzata per recuperare una posizione di una libreria OpenCV con l'uso di -cflags e per ottenere tutte le dipendenze usando l'opzione -libs. Pertanto, è possibile costruire un comando alternativo sopra senza PKG-Config Utility per assomigliare a questo:

G ++ -I/usr/local/include/OpenCv -l/usr/local/lib \
-lcxcore -lcv -lhighgui -lcvaux -lml conversione immagine.C -O Conversione delle immagini

Tuttavia, in entrambi i casi il comando di compilazione creerà dipendenze di libreria indesiderate:

$ LDD Con-Conversion di immagine | grep locale

PRODUZIONE:
libcxcore.COSÌ.2.0 =>/usr/local/lib/libxcore.COSÌ.2.0 (0xb7ccc000)
libcv.COSÌ.2.0 =>/usr/local/lib/libcv.COSÌ.2.0 (0xb7a7a000)
libhighgui.COSÌ.2.0 =>/usr/locale/lib/libhighgui.COSÌ.2.0 (0xb7a3f000)
libcvaux.COSÌ.2.0 =>/usr/local/lib/libcvaux.COSÌ.2.0 (0xB793B000)
libml.COSÌ.2.0 =>/usr/local/lib/libml.COSÌ.2.0 (0xb78d8000)

Il nostro programma dipende dall'autgui di OpenCV.H Libreria e quindi incluso -lcvaux -lml -lcxcore e -lcv dipendenze in un comando di compilation non è necessario. Una versione abbreviata del comando di compilazione sarà così:

$ g ++ -i/usr/local/include/opencv -lhighgui conversione delle immagini.C -O Conversione delle immagini

Di conseguenza, una dipendenza dalla biblioteca del programma era stata ridotta:

$ LDD Con-Conversion di immagine | grep locale

PRODUZIONE:
libhighgui.COSÌ.2.0 =>/usr/locale/lib/libhighgui.COSÌ.2.0 (0xb7f61000)
libcxcore.COSÌ.2.0 =>/usr/local/lib/libxcore.COSÌ.2.0 (0xB7A75000)
libcv.COSÌ.2.0 =>/usr/local/lib/libcv.COSÌ.2.0 (0xB7823000)

D'ora in poi, dipende da te come compili i seguenti esempi in questo articolo. Tieni presente che il primo comando di compilazione incluso PKG-Config sarà in grado di compilare tutti gli esempi. Tuttavia, può produrre un binario con dipendenze eccessive.

Visualizza un'immagine

A questo punto, siamo stati in grado di convertire un tipo di immagine e confermare la sua meta descrizione per comando file. È tempo di visualizzare un'immagine sullo schermo e confermare visivamente che è stata convertita correttamente. Il seguente programma di esempio visualizzerà un'immagine sullo schermo:

#include "highgui.H"
int main (int argc, char ** argv)
// cvloadimage determina un tipo di immagine e crea una dati di dati con dimensioni appropriate
IPlimage* img = cvloadImage (argv [1]);
// Crea una finestra. Il nome della finestra è determinato da un argomento fornito
cvnamedwindow (argv [1], cv_window_autosize);
// Visualizza un'immagine all'interno e alla finestra. Il nome della finestra è determinato da un argomento fornito
cvShowImage (Argv [1], IMG);
// Aspetta indefinitamente per il tasto
cvwaitkey (0);
// rilascia puntatore a un oggetto
cvreleaseimage (& img);
// Distruggi una finestra
cvDestroyWindow (argv [1]);

NOTA: Torna a una sezione di conversione dell'immagine sopra, se hai bisogno di aiuto su come compilare questo programma OpenCV.

Esecuzione di questo programma di immagine display con un'immagine.JPG prodotto nella sezione precedente visualizzerà questa immagine sullo schermo:

$ Display-Image Immagine.jpg

PRODUZIONE:

Gaussiano liscio

Puoi anche tentare di creare una semplice trasformazione dell'immagine utilizzando il metodo fluido gaussiano. Aggiungi una riga seguente nel codice dell'immagine di visualizzazione prima di una chiamata di funzione CVShowimage:
..

cvnamedwindow (argv [1], cv_window_autosize);
CVSMOOTH (IMG, IMG, CV_GAUSSIAN, 9, 9);

cvShowImage (Argv [1], IMG);
..
e aggiungi come prima riga al tuo programma '#include "cv.H "'Direttiva.

Ciò incorporerà un metodo fluido gaussiano centrato su ciascun pixel con 9 x 9 area nell'immagine di uscita. Dopo la compilazione e l'esecuzione verrà presentata una seguente output:
PRODUZIONE:

Riproduci video

Questa sezione include un codice di programma che creerà un semplice lettore video utilizzando OpenCV Library. Video di esempio, albero.Avi può essere trovato nel tuo OpenCV-2.0.0 directory in cui hai estratto i suoi file di origine (OpenCV-2.0.0/campioni/c/albero.avi):

#include "cv.H"
#include "highgui.H"
// Inizializza le variabili globali
int g_slider_position = 0; // Posizione della barra track
CvCapture* g_capture = null; // struttura per creare un input video
// routine da chiamare quando l'utente muove un cursore della barra
void ontrackBarslide (int pos)
cvSetCaptureProperty (
G_Capture,
CV_CAP_PROP_POS_FRAMES,
pos
);

int main (int argc, char ** argv)
// Crea una finestra con dimensioni appropriate. Il nome di Windows è determinato dal nome del file
// fornito come argomento
cvnamedwindow (argv [1], cv_window_autosize);
// Apri video
g_capture = cvCreateFileCapture (argv [1]);
// Imposta la posizione di lettura in unità di frame e recupera il numero totale di frame
FRAME int = (int) cvgetCaptureProperty (
G_Capture,
CV_CAP_PROP_FRAME_COUNT
);
// Non creare Treackbar se il video non include un'informazione
// circa il numero di cornici
if (cornici!= 0)
cvCreateTrackBar (
"Posizione",
argv [1],
& g_slider_position,
cornici,
ontrackbarslide
);

// Visualizza la cornice video per frame
Frame iplimage*;
while (1)
frame = cvqueryFrame (G_Capture);
Se( !frame) pausa;
cvShowImage (argv [1], frame);
// Imposta trackbar su una posizione del frame corrente
cvsettrackbarpos ("posizione", argv [1], g_slider_position);
g_slider_position ++;
char c = cvwaitkey (33);
// smetti se viene premuto ESC
if (c == 27) Break;

// memoria libera
cvreleasecapture (& g_capture);
cvDestroyWindow (argv [1]);
restituzione (0);

NOTA: Torna a una sezione di conversione dell'immagine sopra, se hai bisogno di aiuto su come compilare questo programma OpenCV.

Esegui il tuo nuovo programma OpenCV e come argomento Fornisci un file video:

 $ ./Video-Player ~/OpenCV-2.0.0/campioni/c/albero.Avi

PRODUZIONE:

Ingresso da una videocamera

Lo scopo di questa sezione è fornire alcuni semplici suggerimenti su come configurare una fotocamera su un sistema Linux e come confermare che la videocamera sia riconosciuta correttamente dal sistema. Quando la fotocamera è pronta, ti verrà presentato un semplice programma in grado di visualizzare un video utilizzando una videocamera come input.

Per questo articolo ho usato un logitech, inc. Telecamera QuickCam Pro 9000. Installazione di questa fotocamera su Debian 5.0 o Ubuntu 9.Il sistema 10 (Karmic Koala) era una semplice procedura di plug & play. Ecco alcuni suggerimenti su come confermare che la fotocamera era stata riconosciuta dal tuo sistema:

NOTA:
Il tuo output sarà diverso !

$ lsusb

PRODUZIONE:
Bus 002 Dispositivo 003: ID 046d: 0990 Logitech, Inc. QuickCam Pro 9000
Bus 002 Dispositivo 001: ID 1D6B: 0002 Linux Foundation 2.0 Hub radice
Bus 001 Dispositivo 002: ID 045E: 00D1 Microsoft Corp. Mouse ottico con ruota di inclinazione
Bus 001 Dispositivo 001: ID 1D6B: 0001 Linux Foundation 1.1 hub radice

Il comando LSUSB rivela un tipo di fotocamera collegata al sistema. L'output del comando LSUSB non è necessario significa che la fotocamera è ora pronta per l'uso. Vediamo se alcuni moduli sono associati al video:

$ lsmod | Video grep

PRODUZIONE:
Uvcvideo 45800 0
compat_ioctl32 1312 1 uvcvideo
Videodev 27520 1 Uvcvideo
V4L1_COMPAT 12260 2 UVCVIDEO, VIDEODEV
USBCORE 118192 7 SND_USB_AUDIO, SND_USB_LIB, UVCVIDEO, USBHID, EHCI_HCD, OHCI_HCD

Questo sembra molto promettente. La mia fotocamera utilizza il modulo UVCVIDEO. Se non si vede alcun ouptut o vedi solo output non correlato al dispositivo della fotocamera potrebbe essere necessario ricompilare il kernel o installare un modulo appropriato.

Ora dobbiamo trovare un file di dispositivo corrispondente alla fotocamera. Per fare ciò utilizziamo l'utilità XAWTV:

NOTA: Se il comando XAWTV non è disponibile, è necessario installare il pacchetto XAWTV.

$ xawtv -hwscan

PRODUZIONE:
Questo è XAWTV-3.95.dfsg.1, in esecuzione su Linux/I686 (2.6.26-2-686)
Alla ricerca di dispositivi disponibili
Porta 65-96
Tipo: xvideo, scaler di immagine
Nome: NV Video Blitter

/dev/video0: ok [-device/dev/video0]
Tipo: V4L2
Nome: fotocamera UVC (046d: 0990)
Flag: cattura

Il file del dispositivo è assCiato con la mia fotocamera è /dev /video0 . Puoi anche vedere un errore sul tuo terminale dicendo: Open /Dev /Video0: autorizzazione negata. Per risolvere questo problema devi rendere te stesso parte di un gruppo "video". Ora prova la fotocamera con un comando Linux seguente:

$ xawtv -c /dev /video0

Se hai avuto alcuni problemi in alcuni dei passaggi precedenti, ecco alcuni link, che potrebbero aiutarti a risolvere il problema:

Utilizzare una fotocamera con la libreria OpenCV è semplice come scrivere un programma per riprodurre video. Copia un codice sorgente precedentemente creato del programma video e modifica la riga:

CvCapture* cattura = cvCreateFileCapture (argv [1]);
A:
CvCapture* cattura = cvCreateCameraCapture (0);

Quindi l'intero codice sarà simile a quello sotto:

#include "highgui.H"
int main (int argc, char ** argv)
cvnamedwindow ("esempio2", cv_window_autosize);
CvCapture* cattura = cvCreateCameraCapture (0);
Frame iplimage*;
while (1)
frame = cvqueryFrame (cattura);
Se( !frame) pausa;
cvShowImage ("Esempio2", frame);
char c = cvwaitkey (33);
if (c == 27) Break;

cvreleasecapture (& cattura);
cvDestroyWindow ("Esempio2");

Si noti che una funzione cvCreateCameracapture () non ha preso alcun file o argomento specifico del dispositivo. In questo caso OpenCV inizierà a utilizzare la prima fotocamera disponibile nel sistema. Compila ed esegui questo programma e se tutto fino a questo punto è andato bene dovresti vederti sullo schermo.

NOTA: Torna a una sezione di conversione dell'immagine sopra, se hai bisogno di aiuto su come compilare questo programma OpenCV.

Scrivi il file AVI da una fotocamera

L'ultimo esempio tenterà di leggere un input da una fotocamera e scriverlo a un file. Nel frattempo, il programma visualizzerà anche una finestra con un flusso video di input della fotocamera. L'ingresso video viene salvato in un file fornito come argomento sulla riga di comando. Il codec utilizzato è specificato da quattrocc (codice a quattro caratteri) mjpg che in questo caso è motion jpeg. Questo programma di esempio è molto semplice e c'è un sacco di spazio per il miglioramento:

#includere 
#includere
main (int argc, char* argv [])
CvCapture* cattura = null;
cattura = cvCreateCameraCapture (0);
IPLIMAGE *frame = cvqueryFrame (cattura);
// Ottieni una dimensione del telaio da utilizzare dalla struttura dello scrittore
CvSize size = cvSize (
(int) cvgetCaptureProperty (cattura, cv_cap_prop_frame_width),
(int) cvgetCaptureProperty (cattura, cv_cap_prop_frame_height)
);
// Dichiara la struttura dello scrittore
// Usa quattrocc (codice a quattro caratteri) mjpg, il codec di movimento jpeg
// Il file di output è specificato dal primo argomento
Cvvideowriter *writer = cvcreatevideowriter (
argv [1],
Cv_fourcc ('m', 'j', 'p', 'g'),
30, // Imposta FPS
misurare
);
// crea una nuova finestra
CVNAMEDWINDOW ("Registrazione ... Premi ESC per fermarsi !", Cv_window_autosize);
// Mostra l'acquisizione nella finestra e registra in un file
// Registra fino a quando l'utente non colpisce la chiave ESC
while (1)
frame = cvqueryFrame (cattura);
Se( !frame) pausa;
CVShowImage ("Registrazione ... Premi ESC per fermarsi !", cornici);
CVWRITEFRAME (scrittore, frame);
char c = cvwaitkey (33);
if (c == 27) Break;

cvreleasevideowriter (& writer);
cvreleasecapture (& cattura);
CVDestroyWindow ("Registrazione ... Premi ESC per fermarsi !");
return0;

Supponendo che tu abbia salvato e compilato questo programma come "Salva-Camera-Input", è possibile registrare un video in un video video.Avi con questo comando:
NOTA: Torna a una sezione di conversione dell'immagine sopra, se hai bisogno di aiuto su come compilare questo programma OpenCV.

$ ./Save-Camera-Input Video-file.Avi

Conclusione

Questo articolo dovrebbe darti un buon inizio alla libreria OpenCV dal punto di vista dell'installazione. Gli esempi presentati non hanno molto a che fare con la visione computer stessa, ma piuttosto forniscono un buon terreno di test per l'installazione di OpenCV. Anche da questi semplici esempi di OpenCV è anche chiaro che OpenCV è una biblioteca altamente civile poiché con solo coppie di linee di codice OpenCV puoi ottenere grandi risultati. Il tuo commento su questo articolo è molto apprezzato in quanto potrebbe avere un grande impatto sulla qualità dell'articolo. C'è più comunicazione su OpenCV, quindi rimanete sintonizzati iscrivendo a LinuxConfig.Org RSS Feed (angolo in alto a sinistra).

Questo kernel richiede le seguenti funzionalità non presenti PAE
Oggi ho provato a installare RHEL6 i386 come macchina virtuale usando VirtualBox. Subito dopo l'avvio ho ricevuto un messaggio di errore che dice ques...
Converti il ​​video di Matroska Mkv in formato file contenitore PS3 M2TS
La conversione del formato di file Matroska in M2TS per l'uso su PS3 ha un numero di vantaggi. PS3 è in grado di riprodurre MT2 direttamente dal file ...
Come svegliarsi su host supportato da LAN sulla rete utilizzando Linux
Come svegliarsi su host supportato da LAN sulla rete utilizzando Linux...