OpenCV (Open Source Computer Vision) és una llibreria de programació de codi obert dirigida principalment a la visió per computador en temps real, desenvolupada per la divisió russa d'Intel en el centre de Nijni Nóvgorod, actualment també compta amb el suport de Willow Garage y la companya de visió Itseez.[1] L'ús és gratuït sota la llicencia open source BSD. La llibreria OpenCV és multiplataforma. Es centra principalment en el processament d'imatges en temps real. Està optimitzada per a ser usada en processadors Intel, perquè si la llibreria detecta que les llibreries d'Intel IPP [2] (Integrated Performance Primitives) es troben en el sistema, en farà ús automàticament per tal d'accelerar el rendiment de l'aplicació. També compta amb suport SIMD, optimitzacions OpenMP, optimitzacions per Intel TBB (Threading Building Blocks) i a partir de la versió 2.4.8 dona suport a instruccions vectorials NEON per a sistemes ARM.

Crystal Clear app winprops bw.pngOpenCV
OpenCV Logo with text.png
Face detection.jpg Modifica el valor a Wikidata
TipusLlibreria
Versió inicialjuny 2000 Modifica el valor a Wikidata
Versió estable3.2.0

2.4.13

/ Abril 25, 2014; fa 7 anys (2014-04-25)
LlicènciaBSD
Característiques tècniques
Sistema operatiuGNU/Linux, Mac OS X, Microsoft Windows
Escrit enC/C++
Equip
Creador/sIntel Corporation, Willow Garage, Itseez
Desenvolupador(s)Intel Modifica el valor a Wikidata
Més informació
Lloc webopencv.org
Stack ExchangeEtiqueta Modifica el valor a Wikidata
GitHubopencv Modifica el valor a Wikidata
SourceForgeopencvlibrary Modifica el valor a Wikidata

GitHub: opencv

OpenCV permet desenvolupar en C, C++ o Python i és compatible amb l'IDE QT Creator i les seves corresponents llibreries QT .

Exemple codi C++Modifica

Aquí tenim un exemple de programa bàsic en OpenCV 2.4.X extret de la documentació oficial d'OpenCV. Mostra a l'usuari el Canny que obté després de processar l'entrada de vídeo.

#include "opencv2/opencv.hpp"

using namespace cv;

int main(int, char**)
{
    VideoCapture cap(0); // open the default camera
    if(!cap.isOpened())  // check if we succeeded
        return -1;

    Mat edges;
    namedWindow("edges",1);
    for(;;)
    {
        Mat frame;
        cap >> frame; // get a new frame from camera
        cvtColor(frame, edges, CV_BGR2GRAY);
        GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
        Canny(edges, edges, 0, 30, 3);
        imshow("edges", edges);
        if(waitKey(30) >= 0) break;
    }
    // the camera will be deinitialized automatically in VideoCapture destructor
    return 0;
}

ReferènciesModifica

Enllaços externsModifica