Кіріспе

Компьютерлік көру кітапханасы

OpenCV (Open Source Computer Vision Library) – негізінен нақты уақыт компьютерлік көруге арналған бағдарламалау функцияларының кітапханасы. Алғашқыда Intel компаниясымен әзірленген, кейін Willow Garage, одан кейін Itseez (кейін Intel сатып алған) тарапынан қолдау көрсетілді. Кітапхана платформааралық және Apache License 2 лицензиясы бойынша ашық бастапқы кодты және тегін бағдарламалық қамтамасы ретінде лицензияланған. 2011 жылдан бастап OpenCV нақты уақыт операцияларын жеделдету үшін GPU мүмкіндігін ұсынады.

Тарих

1999 жылы ресми түрде іске қосылған OpenCV жобасы бастапқыда Intel Research инициативасы болды, ол CPU-ға үлкен жүктеме түсіретін қосымшаларды дамытуға бағытталған, сонымен қатар нақты уақыт сәулелену іздеу және 3D дисплей қабырғаларын қамтитын жобалар сериясының бір бөлігі болды. Жобаға маңызды үлес қоскан мамандардың ішінде Intel Russia компаниясының көптеген оптимизациялау сарапшылары және Intel Performance Library тобы болды. OpenCV-нің алғашқы күндері жобаның мақсаттары былай сипатталды: негізгі көру инфрақұрылымы үшін ашық және оңтайландырылған кодты ұсыну арқылы көру саласындағы зерттеулерді дамыту. Енді бұрын жасалған нәрсені қайтадан ойлап табудың қажеті жоқ. Дамушылар қолдана алатын ортақ инфрақұрылымды ұсыну арқылы көру білімін тарату, осылайша кодты оқу және ауыстыру оңайырақ болады. Ашық немесе тегін кодты талап етпейтін лицензиямен портативті, өнімділігі жоғары кодты тегін қолжетімді ету арқылы коммерциялық қолданбаларды дамытуға көмектесу. OpenCV-нің алғашқы альфа нұсқасы 2000 жылы IEEE Компьютерлік көру және үлгілерді тану конференциясында көпшілікке ұсынылды, ал 2001 мен 2005 жылдар аралығында бес бета нұсқасы жарық көрді. Бірінші 1.0 нұсқасы 2006 жылы шықты. 1.1 нұсқасы 2008 жылдың қазан айында «алдын ала шығарылым» ретінде жарияланды. OpenCV-нің екінші маңызды жаңартылуы 2009 жылдың қазан айында болды. OpenCV 2 C++ интерфейсіне маңызды өзгерістер енгізді, мақсаты – оңай және қауіпсіз үлгілерді жасау, жаңа функцияларды қосу және қолданыстағы функциялардың өнімділігін жақсарту (әсіресе көп ядролы жүйелерде). Ресми жаңартулар енді әр алты ай сайын шығарылады және даму процесі коммерциялық компаниялардың қолдауымен тәуелсіз ресейлік команда жүзеге асырады. 2012 жылдың тамызында OpenCV-ге қолдауды коммерциялық емес OpenCV.org қоры қабылдады, ол әзірлеушілер мен пайдаланушыларға арналған сайттарды күтіп ұстайды. 2016 жылдың мамырында Intel OpenCV-нің жетекші әзірлеушісі Itseez компаниясын сатып алу туралы келісімге келді. 2020 жылдың шілдесінде OpenCV АИ жинағына арналған OpenCV AI Kit үшін Kickstarter кампаниясын жариялады және бастады, бұл OpenCV-ге арналған аппараттық модульдер мен қосымшалар сериясы болып табылады. 2020 жылдың тамызында OpenCV .ai – кәсіби кеңес беру бөлімін іске қосты. Дамушылар тобы кеңес беру қызметтерін ұсынады және компьютерлік көру, машиналық оқыту және жасанды интеллект салаларындағы шешімдерді әзірлейді.

Бағдарламалау тілі

OpenCV C++ бағдарламалау тілінде жазылған, оның негізгі интерфейсі де солай, бірақ ол бұрынғы, алайда кеңейтілген C интерфейсін де сақтайды. Жаңа әзірлемелер мен алгоритмдердің барлығы C++ интерфейсінде көрінеді. Python, Java және MATLAB/Octave тілдері үшін де байланыстар бар. Осы интерфейстерге арналған қолданбалы бағдарламалау интерфейсі (API) онлайн құжаттамада табылады. Бағдарламалық кітапханалар кең аудиторияның қолдануын жеңілдету үшін бірнеше тілде жасалған. 3.4 нұсқасында OpenCV функцияларының таңдалған бір бөлігі үшін JavaScript байланыстары OpenCV.js ретінде жарияланды, олар веб-платформаларда қолданылады.

Жабдықтың жылдамдауы

Егер кітапхана жүйеде Intel-дің Integrated Performance Primitives-ін тапса, өзін жылдамдату үшін осы эксклюзивті, оптимизацияланған процедураларды пайдаланады. Compute Unified Device Architecture (CUDA) негізіндегі графикалық процессор (GPU) интерфейсі 2010 жылдың қыркүйегінен бері дамытылып келеді. OpenCL негізіндегі GPU интерфейсі 2012 жылдың қазан айынан бері жұмыс істеп келеді, 2.4.13.3 нұсқасының құжаттамасын docs.opencv.org сайтында табуға болады.

Операциялық жүйелерді қолдау

OpenCV Windows, Linux, macOS, FreeBSD, NetBSD және OpenBSD сияқты десктоптық операциялық жүйелерде, сондай-ақ Android, iOS, Maemo, BlackBerry 10 және QNX сияқты мобильді операциялық жүйелерде жұмыс істейді. Пайдаланушылар ресми нұсқаларды SourceForge-ден немесе ең соңғы кодты GitHub-тен жүктеуге болады. OpenCV CMake қолданады.