Professional Documents
Culture Documents
Óñòàíîâêà Áèáëèîòåêè Opencv: Øîêóðîâ Àíòîí Â. Shokurov - Anton.V@Yandex - Ru 28 Ñåíòÿáðÿ 2017 Ã
Óñòàíîâêà Áèáëèîòåêè Opencv: Øîêóðîâ Àíòîí Â. Shokurov - Anton.V@Yandex - Ru 28 Ñåíòÿáðÿ 2017 Ã
ðô
shokurov.anton.v@yandex.ru
http://ìàøèííîåçðåíèå.ðô
28 ñåíòÿáðÿ 2017 ã.
Âåðñèÿ: 0.10
Àííîòàöèÿ
Ðàññìîòðåíû ðàçëè÷íûå ñïîñîáû óñòàíîâêè áèáèëîòåêè OpenCV. Ïîä-
äåðæêà êàê Linux (Mac), òàê è Windows. Ïîêàçàíî âçàèìîäåéñòâèå ñ QT.
1.1 Linux
Æåëàòåëüíî âñå. Òàêèå ïàêåòû îáû÷íî èìååò èìÿ íà÷èíàþùèåñÿ ñ libopencv. Íà-
ïðèìåð, â ñåìåéñòâå Debian òàêèìè ïàêåòàìè áóäóò: libopencv-core..., libopencv-
imgproc..., libopencv-highgui... è òîìó ïîäîáíîå. Ãäå ê âìåñòî òðîåòî÷èÿ èäåò íîìåð
âåðñèè áèáëèîòåêè.  ÷àñòíîñòè, ìîæåò íà÷èíàòüñÿ ñ 2.4. Äåòàëè òî÷íîãî íàçâàíèÿ
íå âàæíû.
Áîëåå òîãî, ââèäó òîãî, ÷òî áèáëèîòåêà íàì íóæíà íå òîëüêî äëÿ çàïóñêà ïðî-
ãðàìì íàïèñàííûõ ñ ïðèìåíåíèåì OpenCV, íî è äëÿ ðàçðàáîòêè ñîáñòâåííûõ ïðî-
ãðàìì, ïîíàäîáÿòñÿ ïàêåòû îòâå÷àþùèå çà ñáîðêó.
Äëÿ ñáîðêè ïðîãðàìì â ñëó÷àå åñëè âñå áûëî ñäåëàíî ïðàâèëüíî:
1 g++ prog . cpp − s t d=c++11 ` pkg− c o n f i g opencv −− c f l a g s \
2 > −− l i b s ` −o prog
Ñèìâîëû \è > îáîçíà÷àåò òî, ÷òî ýòî ïðîäîëæåíèå ñòðîêè. Íà ñàìîì äåëå äîñòà-
òî÷íî âñå óêàçàòü íà îäíîé ñòðîêå (áåç ýòèõ ñèìâîëîâ).
prog.cpp ýòî âõîäíîé ôàéë ñ êîäîì ïðîãðàììû, à prog ýòî âûõîäíîé èñïîëíÿå-
ìûé ôàéë.
Ñáîðêà Èíîãäà áûâàåò, ÷òî âñå-òàêè ñîáðàòü áèáëèîòåêó. Äëÿ ýòîãî ìîãóò áûòü
ðàçíûå ïðè÷èíû: îò îòñóòñòâèÿ íóæíîé âåðñèè áèáëèîòåêè â ðåïîçèòîðèè, äî íåîá-
õîäèìîñòè äåòàëüíîãî èçó÷åíèÿ ñàìîãî êîäà áèáëèîòåêè.
Äåëàåòñÿ äîñòàòî÷íî ïðîñòî.
Ñíà÷àëî íóæíî ñêà÷àòü èñõîäíûé êîä áèáëèîòåêè. Äëÿ ýòîãî ñóùåñòâóþò êàê
ìèíèìóì äâà âàðèàíòà. Ëèáî ãîòîâûé àðõèâ ñî ñòðàíè÷êå îôèöèàëüíîãî ñàéòà
ëèáî ñ ãëîáàëüíîãî ìåñòà õðàíåíèÿ èñõîäíûõ êîäîâ (github).
Íà ñòðàíèöå îôèöèàëüíîãî ñàéòà (http://opencv.org/releases.html) íóæíî
âûáðàòü íóæíóþ âåðñèþ áèáëèîòåêè è âûáðàòü äëÿ ñêà÷èâàíèÿ ññûëêó sources.
Áóäåò ñêà÷åí àðõèâ. Äàëåå åãî íóæíî áóäåò ðàçàðõèâèðîâàòü íà äèñêå ñ äîñòàòî÷-
íûì ñâîáîäíûì ìåñòîì.
Äðóãîé âàðèàíò ýòî ñêà÷àòü ñàéò íåïîñðåäñòâåííî èç
https://github.com/opencv/opencv
Òàêîé ïîäõîä ïîçâîëÿåò ñêà÷àòü ìàêñèìàëüíî àêòóàëüíóþ âåðñèþ áèáëèîòå-
êè. Àêòóàëüîíñòü îïðåäåëÿåòñÿ íå òîëüêî íàëè÷èåì ñàìûõ ïîñëåäíèõ ïëþøåê,
íî è íàëè÷èåì íîâûõ îøèáîê. Äëÿ ñêà÷èâàíèÿ èç òàêîãî õðàíèëèùà ìîæíî ëè-
áî íåïîñðåäñòâåííî ñêà÷àòü ñàì àðõèâ ñ èñõîäíûì êîäîì (÷åãî áóäåò äîñòàòî÷íî)
ëèáî âûóäèòü äàííûå èñïîëüçóÿ ñïåöèàëüíóþ ïðîãðàììó git, êîòîðóþ íåîáõîäè-
ìî óñòàíîâèòü â ñèñòåìó â ñëó÷àå å¼ îòñóòñòâèÿ. Äëÿ ñà÷èâàíèÿ äàííûõ ñ git
íóæíî âûáðàòü ìåñòî êóäà ñêà÷àòü, íàïðèìåð, ïàïêà /Downloads/opencv/ è äà-
ëåå âûçâàòü git clone https://github.com/opencv/opencv.git Äàííàÿ êîìàíäà
âûóäèò èñõîäíûé êîä â ïîäïàïêó opencv.  äàííîì ñëó÷àå êîä áóäåò ñêà÷àí â ïàï-
êó: /Downloads/opencv/opencv ×òîáû â äàëüíåéøåì íå ïóòàòüñÿ (íàïðèìåð, åñëè
íàìè÷åñêèõ.
1.2 Windows
1.3 Ïðîãðàììû
Ñòðî÷êè â êàâû÷êàõ ìîæíî òàê íå ðàçáèâàòü! Ýòî ñäåëàíî äëÿ ðàçìåùåíèÿ òåêñòà
íà ñòðàíèöå!
Êóðñ ðàññ÷èòàí íà òåêóùóþ âåðñèþ áèáëèîòåêè. Ïîýòîìó, åñëè áóäóò îøèáêè
îòíîñèòåëüíî cv::IMREAD_GRAYSCALE, òî çàìåíè åãî íà
CV_LOAD_IMAGE_GRAYSCALE
Çàïóñê ñ îêíîì èç OpenCV
1 #include <opencv2 / c o r e / c o r e . hpp>
2 #include <opencv2 / h i g h g u i / h i g h g u i . hpp>
3
4 #include <i o s t r e a m >
5
6 int main ( int argc , char ∗∗ argv )
7 {
8 if ( a r g c < 2 )
9 {
10 s t d : : c o u t <<"Need an image f i l e name "
11 " t o show ! " << s t d : : e n d l ;
12 return − 1;
13 }
14
15 cv : : Mat I = cv : : imread ( argv [ 1 ] , cv : : IMREAD_COLOR ) ;
16 cv : : namedWindow ( "My Window" , cv : : WINDOW_AUTOSIZE ) ;
17 cv : : imshow ( "My Window" , I ) ;
18 cv : : waitKey ( 0 ) ;
19 return 0;
20 }