Az OpenCV egy nyílt forráskódú számítógépes látókönyvtár, amely BSD licenc alatt érhető el. Tehát ingyenes tudományos és kereskedelmi felhasználásra. A könyvtár C és C betűkkel íródott++. Linux, Windows, Mac OS, iOS és Android rendszereken fut. C, C ++, Java, MATLAB és Python interfészekkel rendelkezik. Az OpenCV több mint 2500 optimalizált algoritmussal rendelkezik a valós idejű számítógépes látáshoz.
Az OpenCV közösség célja egy olyan számítógépes látásinfrastruktúra létrehozása, amely lehetővé teszi a fejlesztők számára, hogy komplex alkalmazásokat viszonylag egyszerűen hozzanak létre. A könyvtár valós idejű alkalmazások számítási hatékonyságára készült. Tehát az arcfelismerés, a gesztusfelismerés, az orvosi képalkotás, az ember-számítógép interakció, a mozgáskövetés, a biztonsági megfigyelés, a robotika, a kamera vezérlése és még sok más alkalmazás.
A számítógépes látáselemek mellett az OpenCV támogatja az általános célú gépi tanulást is. A gépi tanulás (ML) fontos számítógépes látásprobléma. Tehát az ML könyvtár vonzóbbá teszi az OpenCV-t a számítógépes látás fejlesztők számára.
Computer Vision és OpenCV
A számítógépes látást azzal a céllal hozták létre, hogy megismételje az emberi látás képességeit. Algoritmusok segítségével alakítja át a rögzített képeket adatokká, és megkönnyíti a valós látási problémák megértését.
Az emberi látás esetén a szemünk beviteli eszközként működik. Ezután agyunk több csatornára osztja a képfolyamokat feldolgozás céljából. A vizuális adatok mellett az emberi agy más érzékszervi adatokat is figyelembe vesz, és felhasználja a térbeli mélység megértéséhez. Képességet ad az emberi agynak a háromdimenziós tér megértésére.
Amikor kamerákkal gyűjtünk adatokat, kétdimenziós képet kapunk a világról. A számítógépes látás algoritmusai kétdimenziós képeket készítenek, és matematikai tulajdonságokkal számolják ki a háromdimenziós reprezentációkat. Rendkívül nehéz megoldani a problémát.
A számítógépes látás gyakran más kontextuális információkat is felhasznál a kétdimenziós képek korlátainak leküzdésére. Figyelembe veszi az olyan információkat, mint a szín, a fényerő vagy a kontraszt. Például, ha egy objektumfelismerő algoritmus fa táblázatot keres, biztonságosan kiküszöbölhet minden, a fához nem kapcsolódó színt a bemeneti képekből. A számítógépes látási algoritmusok kiküszöbölik a bemeneti adatok zaját.
Az OpenCV könyvtárat úgy tervezték, hogy megkönnyítse a számítógépes látási algoritmusok megvalósítását. Kezeli a számítási bonyolultságot, így a fejlesztők magas szintű feladatokra tudnak koncentrálni.
Az OpenCV története
1999-ben az OpenCV az Intelnél kezdte meg a CPU-intenzív alkalmazások továbbfejlesztésének kezdeményezését. Gary Bradski, aki akkor az Intelnél dolgozott, észrevette, hogy az MIT Media Lab hallgatói könyvtárakat osztanak meg, hogy előnyt szerezzenek a számítógépes látáskezelő alkalmazásokban. Ez inspirálta a könnyen használható számítógépes látás infrastruktúra kiépítésének ötletét.
Az Intelből az OpenCV projekt a Willow Garage robotikai kutatólaboratóriumba és technológiai inkubátorba költözött, a kaliforniai Menlo Parkban. Jelenleg az OpenCV nyílt forráskódú projektet az Itseez, egy személyre szabott számítógépes látásszoftvert fejlesztő és tanácsadó cég tartja fenn.
OpenCV 1. verzió.A 0 2006-ban jelent meg. A következő nagyobb verzió 2.0.0 jött 2009-ben. A jelenlegi fő verzió 3.0.0 megjelent 2015-ben. Az eddigi legfrissebb verzió az OpenCV 3.3.0.
Az OpenCV használata
A könyvtár népszerűségre tett szert a tudósok és az akadémikusok körében. Gyakran használják a számítógépes látás oktatási eszközeként. De az OpenCV elég robusztus a valós problémák kezeléséhez.
Használhatja az OpenCV-t nem kereskedelmi és kereskedelmi termékekhez. Olyan ipari óriások használják, mint a Google, a Yahoo, a Microsoft, az Intel, az IBM, a Sony, a Honda és a Toyota. A vezető egyetemek, például az MIT, a CMU, a Stanford és a Cambridge kutatóintézetei támogatást nyújtanak a könyvtár számára. Az OpenCV Yahoo Group-nak világszerte 50 000 tagja van.
Az OpenCV telepítése
Az OpenCV telepítésének bemutatásához az Ubuntu 17-et fogom használni.10 és friss docker képbe telepíti a telepítést annak biztosítása érdekében, hogy ne legyenek ütköző csomagok az OpenCV dev környezetben. Itt van a parancssorom a dokkoló beállításához:
dokkoló húzza az ubuntutdokkoló futás -it 00fd29ccc6f1 bash
apt-get frissítés
Rendben, most új környezeted van, telepítsünk néhány szükséges függőséget, hogy a környezet használható legyen.
apt-get install wget cmake g ++ unzip vimEzután szükségünk van az OpenCV forráskódjára. A forráskódot itt szerezheti be a webhelyről, és győződjön meg arról, hogy letölti a legújabb verziót. Csomagolja ki, majd hozzon létre egy build könyvtárat a CMake rendszerhez, és írja be a könyvtárat:
wget https: // github.com / opencv / opencv / archive / 3.3.1.postai irányítószámcd opencv-3.3.1
mkdir build
cd build
Ezután felépíthetjük a könyvtárat, és telepíthetjük a dokkoló kép rendszerútvonalára. Ha nem a dokkolót használja, akkor el kell döntenie a build előtagját, de egy dedikált dokkoló kép használata mindezt nagyon egyszerűvé teszi, az alábbiak szerint:
cmake…készítsen
telepíteni
A build és a telepítés sikerességének ellenőrzéséhez írhatunk egy triviális C ++ tesztprogramot, amely tartalmaz egy OpenCV könyvtárat, majd futtassa azt. Itt van egy példa kód, amellyel tesztelheti a telepítést:
#include "opencv2 / core / core.hpp "#include
int main ()
cv :: Point2f p (4, 5);
std :: cout << "Point output: " << p << std::endl;
visszatér 0;
Így építheti és futtathatja:
root @ 6d6b443fced: ~ / src # g ++ teszt.cpp -o tesztroot @ 6d6b443fced: ~ / src # ./teszt
Pont kimenet: [4, 5]
Gratulálok a munkához, a munka kész.
Következő lépések
OpenCV Arcfelismerés
Referenciák:
- https: // opencv.org /
- https: // opencv.org / kb.html
- https: // docs.opencv.org / 3.3.1 / d1 / dfb / intro.html
- https: // en.wikipédia.org / wiki / OpenCV