{"id":134,"date":"2020-04-22T22:37:42","date_gmt":"2020-04-22T14:37:42","guid":{"rendered":"http:\/\/iotch.xyz\/?p=134"},"modified":"2020-04-22T22:37:42","modified_gmt":"2020-04-22T14:37:42","slug":"ubuntu16-04%e5%ae%89%e8%a3%85opencv","status":"publish","type":"post","link":"https:\/\/www.iotch.xyz\/?p=134","title":{"rendered":"Ubuntu16.04\u5b89\u88c5OpenCV"},"content":{"rendered":"\n<p>Ubuntu16.04\u5b89\u88c5OpenCV - \u7b80\u4e66<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">1.\u5b89\u88c5 opencv \u6240\u9700\u4f9d\u8d56\u5305<\/h1>\n\n\n\n<p>\u5982\u679c\u540e\u9762\u8fd8\u8981\u9057\u6f0f\u7684\uff0c\u51fa\u9519\u518d\u8865\u4e0a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo apt-get update<br>$ sudo apt-get upgrade<br>$ sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264v4l-utils unzip<\/p><\/blockquote>\n\n\n\n<h1 class=\"wp-block-heading\">2.\u4e0b\u8f7d opencv3.2.0<\/h1>\n\n\n\n<p>\u8fd9\u91cc\u9700\u8981\u4e0b\u8f7d opencv \u548c opencv_contrib (\u540e\u8005\u4f1a\u5728 cmake \u914d\u7f6e\u7684\u65f6\u5019\u7528\u5230), \u8fd9\u662f\u56e0\u4e3a opencv3\u4ee5\u540e SIFT \u548c SURF \u4e4b\u7c7b\u7684\u5c5e\u6027\u88ab\u79fb\u5230\u4e86 contrib \u4e2d,\u6267\u884c\u4e0b\u9762\u4e24\u6761\u6307\u4ee4\u4e0b\u8f7d OpenCV3.2.0<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ wget <a href=\"https:\/\/link.jianshu.com?t=https%3A%2F%2Fgithub.com%2Fopencv%2Fopencv%2Farchive%2F3.2.0.zip\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >https:\/\/github.com\/opencv\/opencv\/archive\/3.2.0.zip<\/a><br>$ wget <a href=\"https:\/\/link.jianshu.com?t=https%3A%2F%2Fgithub.com%2Fopencv%2Fopencv_contrib%2Farchive%2F3.2.0.zip\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >https:\/\/github.com\/opencv\/opencv_contrib\/archive\/3.2.0.zip<\/a><\/p><\/blockquote>\n\n\n\n<p>(3.2.0.zip\u5c31\u662fopencv-3.2.0.zip)<br>(3.2.0.zip.1\u5c31\u662fopencv_contrib.zip)<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">3.\u89e3\u538b\u4e0b\u8f7d\u7684\u4e24\u4e2a\u6587\u4ef6<\/h1>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ unzip opencv-3.2.0.zip -d ~\/opencv<br>$ unzip opencv_contrib-3.2.0.zip -d ~\/opencv<\/p><\/blockquote>\n\n\n\n<h1 class=\"wp-block-heading\">4.\u521b\u5efa\u5e76\u8fdb\u5165 build \u76ee\u5f55,\u6267\u884c cmake \u751f\u6210 makefile \u6587\u4ef6<\/h1>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ cd ~\/opencv\/opencv-3.2.0<br>$ mkdir build<br>$ cd build\/<br>$ sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=\/usr\/local -D OPENCV_EXTRA_MODULES_PATH= ..<\/p><\/blockquote>\n\n\n\n<p>\u6ce8\u610fcmake\u7684\u53c2\u6570\u4e0d\u8981\u51fa\u9519<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u95ee\u9898\u4e00\uff1a<\/h2>\n\n\n\n<p>\u4e0b\u8f7d\u5305\u7684\u65f6\u5019\u94fe\u63a5\u8d85\u65f6<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CMake Error at 3rdparty\/ippicv\/downloader.cmake:77 (message):\n  ICV: Failed to download ICV package: ippicv_linux_20151201.tgz.\n  Status=28;\"Timeout was reached\"\n<\/code><\/pre>\n\n\n\n<p>\u624b\u52a8\u4e0b\u8f7d ippicv_linux_20151201.tgz\uff08<a href=\"https:\/\/link.jianshu.com?t=https%3A%2F%2Fraw.githubusercontent.com%2FItseez%2Fopencv_3rdparty%2F81a676001ca8075ada498583e4166079e5744668%2Fippicv%2Fippicv_linux_20151201.tgz\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >https:\/\/raw.githubusercontent.com\/Itseez\/opencv_3rdparty\/81a676001ca8075ada498583e4166079e5744668\/ippicv\/ippicv_linux_20151201.tgz<\/a>\uff09\u5230opencv-3.2.0\/3rdparty\/ippicv\/downloads\/\u76ee\u5f55\u4e0b\u518dcmake<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo cp ~\/software\/opencv\/ippicv_linux_20151201.tgz ~\/opencv\/opencv-3.2.0\/3rdparty\/ippicv\/downloads\/linux-808b791a6eac9ed78d32a7666804320e\/<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u95ee\u9898\u4e8c\uff1a<\/h2>\n\n\n\n<p><em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- No package 'gtk+-3.0' found\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo apt-get install libgtk-3-dev<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u95ee\u9898\u4e09\uff1a<\/h2>\n\n\n\n<p><em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--   No package 'gstreamer-base-1.0' found\n\n--   No package 'gstreamer-video-1.0' found\n\n--   No package 'gstreamer-app-1.0' found\n\n--   No package 'gstreamer-riff-1.0' found\n\n--   No package 'gstreamer-pbutils-1.0' found\n\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>sudo apt-get -y install libgstreamer-plugins-base1.0-dev<br>sudo apt-get -y install libgstreamer1.0-dev<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u95ee\u9898\u56db:<\/h2>\n\n\n\n<p><em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--   No package 'libavresample' found\n\n--   No package 'libgphoto2' found\n\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo apt-get -y install libavresample-dev<br>$ sudo apt-get -y install libgphoto2-dev<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u95ee\u9898\u4e94:<\/h2>\n\n\n\n<p><em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- Could not find OpenBLAS include. Turning OpenBLAS_FOUND off\n-- Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off\n-- Could NOT find Atlas (missing:  Atlas_CBLAS_INCLUDE_DIR Atlas_CLAPACK_INCLUDE_DIR Atlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY Atlas_LAPACK_LIBRARY) \n-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) \n-- Could NOT find JNI (missing:  JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) \n-- Could NOT find Matlab (missing:  MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN) \n-- VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo apt-get install libopenblas-dev<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u95ee\u9898\u516d:<\/h2>\n\n\n\n<p><em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) \n\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo apt-get install doxygen<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u95ee\u9898\u4e03:<\/h2>\n\n\n\n<p><em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- Could NOT find JNI (missing:  JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) \n<\/code><\/pre>\n\n\n\n<p>a.\u4e0b\u8f7djdk-8u151-linux-x64.tar.gz\u5230download\u76ee\u5f55<br><a href=\"https:\/\/link.jianshu.com?t=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fcn%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151-zhs.html\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >http:\/\/www.oracle.com\/technetwork\/cn\/java\/javase\/downloads\/jdk8-downloads-2133151-zhs.html<\/a><\/p>\n\n\n\n<p>b.\u5b89\u88c5jdk<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ cd download\/<br>$ sudo mkdir \/usr\/local\/java<br>$ sudo tar zxvf jdk-8u151-linux-x64.tar.gz -C \/usr\/local\/java<br>$ sudo ln -s \/usr\/local\/java\/jdk1.8.0_151\/ \/usr\/local\/java\/latest<\/p><\/blockquote>\n\n\n\n<p>c. \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo vim \/etc\/profile<\/p><\/blockquote>\n\n\n\n<p>\u52a0\u5165\u5982\u4e0b\u5185\u5bb9\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>>export JAVA_HOME=\/usr\/local\/java\/latest\nexport CLASSPATH=.:$JAVA_HOME\/jre\/lib\/rt.jar:$JAVA_HOME\/lib\/dt.jar:$JAVA_HOME\/lib\/tools.jar\nexport PATH=$PATH:$JAVA_HOME\/bin\n<\/code><\/pre>\n\n\n\n<p>\u6267\u884c<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ source \/etc\/profile<\/p><\/blockquote>\n\n\n\n<p>\u8fdb\u884c\u66f4\u65b0\u3002<\/p>\n\n\n\n<p><strong>\u6ca1\u6709\u62a5\u9519\u7684\u60c5\u51b5\u4e0b\uff0ccmake\u6210\u529f\u540e\u4f1a\u51fa\u73b0<\/strong><em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- Configuring done\n-- Generating done\n-- Build files have been written to: \/home\/fc\/opencv\/opencv-\n3.2.0\/build\n<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">5. make<\/h1>\n\n\n\n<p>cmake\u6210\u529f,\u4e4b\u540e\u53ef\u4ee5\u5728 build \u6587\u4ef6\u4e0b\u6267\u884c\u7f16\u8bd1\u6307\u4ee4,\u5f85\u7f16\u8bd1\u6210\u529f\u540e\u5373\u53ef\u6267\u884c\u5b89\u88c5\u6307\u4ee4\u3002<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo make -j4<\/p><\/blockquote>\n\n\n\n<p>\u51fa\u9519\uff1a<br>\/opencv\/opencv-3.2.0\/build\/opencv_lapack.h:2:45: fatal error: LAPACKE_H_PATH-NOTFOUND\/lapacke.h: \u6ca1\u6709\u90a3\u4e2a\u6587\u4ef6\u6216\u76ee\u5f55<br>\u89e3\u51b3\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo apt-get install liblapacke-dev checkinstall<\/p><\/blockquote>\n\n\n\n<p>make\u65f6\u95f4\u6709\u70b9\u957f\uff0c\u5dee\u4e0d\u591a\u4e24\u4e2a\u5c0f\u65f6\u4e86\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">6.install<\/h1>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo make install<\/p><\/blockquote>\n\n\n\n<h1 class=\"wp-block-heading\">7.\u5b89\u88c5 python \u63a5\u53e3\u4f9d\u8d56<\/h1>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$sudo apt-get install python-opencv<br>sudo apt-get install python-numpy<\/p><\/blockquote>\n\n\n\n<h1 class=\"wp-block-heading\">8.\u6d4b\u8bd5 Python \u7684 OpenCV3.2.0 \u6a21\u5757<\/h1>\n\n\n\n<p><em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ python\nPython 2.7.14 |Anaconda, Inc.| (default, Oct 16 2017, 17:29:19) \n&#91;GCC 7.2.0] on linux2\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import cv2\nTraceback (most recent call last):\n File \"&lt;stdin>\", line 1, in &lt;module>\nImportError: No module named cv2\n>>> \n<\/code><\/pre>\n\n\n\n<p>\u95ee\u9898\uff1aNo module named cv2<br>\u539f\u56e0\u5728\u4e8e python2.7 \u627e\u4e0d\u5230 cv2.so \u6587\u4ef6<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>$ sudo cp ~\/opencv\/opencv-3.2.0\/build\/lib\/cv2.so ~\/anaconda2\/lib\/python2.7\/site-packages\/<\/p><\/blockquote>\n\n\n\n<p>\u518d\u6d4b\u8bd5\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ python\nPython 2.7.14 |Anaconda, Inc.| (default, Oct 16 2017, 17:29:19) \n&#91;GCC 7.2.0] on linux2\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import cv2\n>>> cv2.__version__\n'3.2.0'\n>>> \n<\/code><\/pre>\n\n\n\n<p>\u80fd\u663e\u793aopencv\u7684\u7248\u672c\u8bf4\u660e\u5b89\u88c5\u6210\u529f<\/p>\n\n\n\n<p class=\"has-text-color has-vivid-red-color\">\u4f5c\u8005\uff1afoochane<br>\u94fe\u63a5\uff1ahttps:\/\/www.jianshu.com\/p\/259a6140da9d<br>\u6765\u6e90\uff1a\u7b80\u4e66<br>\u8457\u4f5c\u6743\u5f52\u4f5c\u8005\u6240\u6709\u3002\u5546\u4e1a\u8f6c\u8f7d\u8bf7\u8054\u7cfb\u4f5c\u8005\u83b7\u5f97\u6388\u6743\uff0c\u975e\u5546\u4e1a\u8f6c\u8f7d\u8bf7\u6ce8\u660e\u51fa\u5904\u3002<\/p>\n<button class=\"simplefavorite-button\" data-postid=\"134\" data-siteid=\"1\" data-groupid=\"1\" data-favoritecount=\"0\" style=\"\">\u6536\u85cf <i class=\"sf-icon-star-empty\"><\/i><\/button>","protected":false},"excerpt":{"rendered":"<p>Ubuntu16.04\u5b89\u88c5OpenCV &#8211; \u7b80\u4e66 1.\u5b89\u88c5 opencv \u6240\u9700\u4f9d\u8d56\u5305 \u5982\u679c\u540e\u9762\u8fd8\u8981\u9057\u6f0f\u7684\uff0c\u51fa\u9519\u518d\u8865\u4e0a $ sudo &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-134","post","type-post","status-publish","format-standard","hentry","category-ubuntn"],"_links":{"self":[{"href":"https:\/\/www.iotch.xyz\/index.php?rest_route=\/wp\/v2\/posts\/134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iotch.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iotch.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iotch.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iotch.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=134"}],"version-history":[{"count":0,"href":"https:\/\/www.iotch.xyz\/index.php?rest_route=\/wp\/v2\/posts\/134\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.iotch.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iotch.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iotch.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}