ËüÌṩÁ˷ḻµÄͼÏñ´¦ÀíºÍ¼ÆËã»úÊÓ¾õ¹¦ÄÜ£¬Ö§³Ö¶àÖÖ±à³ÌÓïÑÔ£¬ÓÈÆäÒÔC++ºÍPython×îΪÁ÷ÐÐ
¶ÔÓÚ¿ª·¢Õß¶øÑÔ£¬ÔÚLinuxϵͳÉÏÅäÖÃOpenCV²»½öÄܹ»ÏíÊܵ½ÆäÇ¿´óµÄ¹¦ÄÜ£¬»¹Äܳä·ÖÀûÓÃLinuxϵͳµÄÎȶ¨ÐԺ͸ßЧÐÔ
±¾ÎĽ«Ïêϸָµ¼ÄãÈçºÎÔÚLinux»·¾³Ï¸ßЧÅäÖÃOpenCV£¬È·±£ÄãµÄ¿ª·¢»·¾³¼ÈÎȶ¨ÓÖ¸ßЧ
Ò»¡¢Ç°ÆÚ×¼±¸ ÔÚ¿ªÊ¼ÅäÖÃ֮ǰ£¬È·±£ÄãµÄLinuxϵͳÒѾ°²×°ÁË»ù±¾µÄ¿ª·¢¹¤¾ß°üºÍ±àÒë»·¾³
ÒÔÏÂÊÇһЩ±ØÒªµÄ×¼±¸¹¤×÷£º 1.¸üÐÂϵͳÈí¼þ°ü£º bash sudo apt update sudo apt upgrade 2.°²×°±ØÒªµÄÒÀÀµ£º OpenCVµÄ±àÒëÒÀÀµÓÚһЩ»ù±¾µÄ¿â£¬°üÀ¨CMake£¨¹¹½¨ÏµÍ³£©¡¢GCC£¨±àÒëÆ÷£©¡¢GTK£¨Í¼ÐνçÃæ¿â£©¡¢libjpeg-turbo£¨JPEGͼÏñ´¦Àí¿â£©µÈ
Äã¿ÉÒÔͨ¹ýÒÔÏÂÃüÁî°²×°ÕâЩÒÀÀµ£º bash sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libjpeg-turbo8-dev libtiff5-dev libdc1394-22-dev 3.°²×°Python£¨Èç¹ûÐèҪʹÓÃPython API£©£º OpenCVµÄPython API·Ç³£ÊÜ»¶Ó£¬Òò´ËÈç¹ûÄã´òËãʹÓÃPython½øÐпª·¢£¬ÇëÈ·±£ÄãµÄϵͳÉϰ²×°ÁËPython
Äã¿ÉÒÔʹÓÃÒÔÏÂÃüÁî°²×°Python¼°Æä¿ª·¢¹¤¾ß£º bash sudo apt install python3 python3-dev python3-pip ¶þ¡¢ÏÂÔØ²¢±àÒëOpenCV ËäÈ»Linux·¢ÐаæÍ¨³£°üº¬OpenCVµÄÔ¤±àÒë°ü£¬µ«ÎªÁË»ñµÃ×îÐµĹ¦ÄܺÍÓÅ»¯£¬½¨Òé´ÓÔ´´úÂë±àÒë°²×°
1.ÏÂÔØOpenCVÔ´´úÂ룺 Äã¿ÉÒÔ´ÓOpenCVµÄ¹Ù·½GitHub²Ö¿âÏÂÔØÔ´´úÂë
ʹÓÃ`git clone`ÃüÁî¿ÉÒÔ·½±ãµØ»ñÈ¡×îа汾£º bash cd ~ git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git ×¢Ò⣺`opencv_contrib`²Ö¿â°üº¬Á˶îÍâµÄ·Ç×ÔÓÉÄ£¿é£¬ÕâЩģ¿é¿ÉÄܶÔÄãµÄÏîÄ¿ÓÐÓÃ
2.´´½¨¹¹½¨Ä¿Â¼²¢ÅäÖÃCMake£º ΪÁ˱ÜÃâÔÚÔ´´úÂëĿ¼ÖÐÉú³É´óÁ¿±àÒëÎļþ£¬½¨Òé´´½¨Ò»¸öµ¥¶ÀµÄ¹¹½¨Ä¿Â¼£º bash mkdir -p ~/opencv/build cd ~/opencv/build È»ºó£¬Ê¹ÓÃCMakeÅäÖñàÒëÑ¡Ïî
ÒÔÏÂÊÇÒ»¸ö»ù±¾µÄÅäÖÃÃüÁÄã¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÇó½øÐе÷Õû£º bash cmake -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.8 -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so -D BUILD_opencv_python3=ON -D OPENCV_ENABLE_NONFREE=ON .. ×¢Ò⣺ȷ±£`PYTHON3_EXECUTABLE`¡¢`PYTHON_INCLUDE_DIR`ºÍ`PYTHON_LIBRARY`µÄ·¾¶ÓëÄãµÄPython°²×°ÏàÆ¥Åä
Äã¿ÉÒÔʹÓÃ`python3-config --includes`ºÍ`python3-config --libs`ÃüÁîÀ´²éÕÒÕâЩ·¾¶
3.±àÒëºÍ°²×°£º ÅäÖÃÍê³Éºó£¬Ê¹ÓÃ`make`ÃüÁî½øÐбàÒë
Õâ¸ö¹ý³Ì¿ÉÄܻỨ·ÑһЩʱ¼ä£¬¾ßÌåÈ¡¾öÓÚÄãµÄϵͳÐÔÄܺÍÅäÖõÄÄ£¿éÊýÁ¿
±àÒëÍê³Éºó£¬Ê¹ÓÃ`makeinstall`ÃüÁî°²×°OpenCV£º bash make -j$(nproc) ʹÓÃËùÓпÉÓõÄCPUºËÐĽøÐбàÒë sudo make install sudo ldconfig# ¸üй²Ïí¿â»º´æ Èý¡¢ÑéÖ¤°²×° °²×°Íê³Éºó£¬ÑéÖ¤OpenCVÊÇ·ñÕýÈ·ÅäÖò¢¿ÉÒÔʹÓÃÊǷdz£ÖØÒªµÄ
1.ʹÓÃPythonÑéÖ¤£º ´ò¿ªPython½âÊÍÆ÷²¢³¢ÊÔµ¼ÈëOpenCV£º python python3 -c import cv2;print(cv2.__version__) Èç¹ûûÓб¨´í²¢ÏÔʾÁËOpenCVµÄ°æ±¾ºÅ£¬ËµÃ÷Python°ó¶¨ÒѾÕýÈ·°²×°
2.ʹÓÃC++ÑéÖ¤£º
´´½¨Ò»¸ö¼òµ¥µÄC++³ÌÐòÀ´²âÊÔOpenCV£º
cpp
include
ËÄ¡¢»·¾³±äÁ¿ÅäÖ㨿ÉÑ¡£©
ΪÁ˸ü·½±ãµØÔÚÃüÁîÐÐÖÐʹÓÃOpenCV£¬Äã¿ÉÒÔ½«OpenCVµÄ¿â·¾¶Ìí¼Óµ½»·¾³±äÁ¿ÖÐ
1.¸üÐÂLD_LIBRARY_PATH£º
½«OpenCVµÄ¿â·¾¶Ìí¼Óµ½`LD_LIBRARY_PATH`»·¾³±äÁ¿ÖУ¬ÒԱ㶯̬Á´½ÓÆ÷Äܹ»ÕÒµ½OpenCVµÄ¿âÎļþ£º
bash
exportLD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
Äã¿ÉÒÔ½«ÕâÌõÃüÁîÌí¼Óµ½ÄãµÄ`~/.bashrc`»ò`~/.zshrc`ÎļþÖУ¬ÒÔ±ãÿ´ÎµÇ¼ʱ×Ô¶¯¼ÓÔØ
2.¸üÐÂPKG_CONFIG_PATH£º
Èç¹ûÄãʹÓÃ`pkg-config`À´²éÕÒOpenCVµÄ±àÒëºÍÁ´½ÓÑ¡Ï»¹ÐèÒª¸üÐÂ`PKG_CONFIG_PATH`£º
bash
exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
Îå¡¢×ܽá
ͨ¹ýÒÔÉϲ½Ö裬ÄãÓ¦¸ÃÄܹ»ÔÚLinuxϵͳÉϳɹ¦ÅäÖÃOpenCV ÎÞÂÛÊÇʹÓÃPython»¹ÊÇC++½øÐпª·¢£¬OpenCV¶¼ÌṩÁ˷ḻµÄ¹¦Äܺ͸ßЧµÄÐÔÄÜ Ëæ×ÅOpenCVµÄ²»¶Ï¸üкͷ¢Õ¹£¬±£³ÖÄãµÄ¿ª·¢»·¾³Óëʱ¾ã½øÊǷdz£ÖØÒªµÄ ¶¨ÆÚ¼ì²éOpenCVµÄ¹Ù·½ÎĵµºÍ¸üÐÂÈÕÖ¾£¬¿ÉÒÔ°ïÖúÄ㼰ʱ»ñÈ¡×îÐµĹ¦ÄܺÍÓÅ»¯
´ËÍ⣬ΪÁ˽øÒ»²½Ìá¸ß¿ª·¢Ð§ÂÊ£¬Ä㻹¿ÉÒÔ̽Ë÷һЩ¼¯³É¿ª·¢»·¾³£¨IDE£©ºÍ¹¹½¨¹¤¾ß£¬ÈçCLion¡¢Visual Studio CodeµÈ£¬ËüÃÇÌṩÁËÇ¿´óµÄ´úÂë±à¼¡¢µ÷ÊԺ͹¹½¨¹¦ÄÜ£¬Äܹ»ÏÔÖøÌáÉýÄãµÄ¿ª·¢ÌåÑé
ÏÖÔÚ£¬ÄãÒѾ׼±¸ºÃÔÚLinux»·¾³ÏÂʹÓÃOpenCV½øÐмÆËã»úÊÓ¾õ¿ª·¢ÁË£¡×£Äã±àÂëÓä¿ì£¬³É¹û·á˶£¡