hans

hans

【Linux】【Opencv】【Python】安裝opencv以及無法使用cv2.imshow()解決辦法(Ubuntu14.04)


------【 2017.07.14 更新 】-------------------------------------------------------

安裝 opencv3 每次 cmake 都要下載 3rdparty,下載很慢還總失敗。附上自行下載連結及解決辦法:

linux 版本 3rdparty 下載地址: https://pan.baidu.com/s/1kVxE6XL

opencv3.2 下載地址: https://pan.baidu.com/s/1dFxQLmp

opencv3.2 也可以去官網下載。

先解壓縮 opencv3.2

cd opencv-3.2.0/3rdparty/ippicv
mkdir unpack

然後解壓縮 ippicv_linux_20151201.tgz

將解壓後的目錄 mv 到 unpack 目錄中

替換 ippicv 目錄中 downloader.cmake 文件內容為:

#
# The script downloads ICV package
#
# On return this will define:
# OPENCV_ICV_PATH - path to unpacked downloaded package
#

function(_icv_downloader)
  # Commit SHA in the opencv_3rdparty repo
  set(IPPICV_BINARIES_COMMIT "81a676001ca8075ada498583e4166079e5744668")
  # Define actual ICV versions
  if(APPLE)
    set(OPENCV_ICV_PACKAGE_NAME "ippicv_macosx_20151201.tgz")
    set(OPENCV_ICV_PACKAGE_HASH "4ff1fde9a7cfdfe7250bfcd8334e0f2f")
    set(OPENCV_ICV_PLATFORM "macosx")
    set(OPENCV_ICV_PACKAGE_SUBDIR "/ippicv_osx")
  elseif(UNIX)
    if(ANDROID AND NOT (ANDROID_ABI STREQUAL x86 OR ANDROID_ABI STREQUAL x86_64))
      return()
    endif()
    set(OPENCV_ICV_PACKAGE_NAME "ippicv_linux_20151201.tgz")
    set(OPENCV_ICV_PACKAGE_HASH "808b791a6eac9ed78d32a7666804320e")
    set(OPENCV_ICV_PLATFORM "linux")
    set(OPENCV_ICV_PACKAGE_SUBDIR "/ippicv_lnx")
  elseif(WIN32 AND NOT ARM)
    set(OPENCV_ICV_PACKAGE_NAME "ippicv_windows_20151201.zip")
    set(OPENCV_ICV_PACKAGE_HASH "04e81ce5d0e329c3fbc606ae32cad44d")
    set(OPENCV_ICV_PLATFORM "windows")
    set(OPENCV_ICV_PACKAGE_SUBDIR "/ippicv_win")
  else()
    return() # Not supported
  endif()

  set(OPENCV_ICV_UNPACK_PATH "${CMAKE_CURRENT_LIST_DIR}/unpack")
  set(OPENCV_ICV_PATH "${OPENCV_ICV_UNPACK_PATH}${OPENCV_ICV_PACKAGE_SUBDIR}")

  message(STATUS "ICV: Package successfully downloaded")
  set(OPENCV_ICV_PATH "${OPENCV_ICV_PATH}" PARENT_SCOPE)
endfunction()

_icv_downloader()

然後就可以正常 cmake,make,make install 了

以上內容參考自: http://blog.csdn.net/u011028345/article/details/74568109


提示錯誤:

** cv2.error: /io/opencv/modules/highgui/src/window.cpp:583: error: (-2) The
function is not implemented. Rebuild the library with Windows, GTK+ 2.x or
Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-
config, then re-run cmake or configure script in function cvShowImage **

這個問題真是。。RLGL。。。

依賴包我就不說了,安裝好就是了。特別是 libgtk2.0-dev 和 pkg-config。

簡單說一下怎麼手動安裝 opencv2 吧

先去官網http://opencv.org/

點 release

下載 opencv-2.4.13 的 source 源碼包

unzip opencv-2.4.13.zip
cd opencv-2.4.13/
cmake -DWITH_GTK=ON -DCMAKE_INSTALL_PREFIX=/usr/local .
make
sudo make install

新安裝的 opencv 在 /usr/local/include/ 目錄裡

這時候找 cv2.so

可能在 /usr/local/lib/python2.7/site-packages/ 目錄裡

也可能在 /usr/local/lib/python2.7/dist-packages/ 目錄裡

第一種情況將 cv2.so 複製到 /usr/lib/python2.7/site-packages/ 目錄裡

第二種情況複製到 /usr/lib/python2.7/dist-packages/ 目錄裡

好了!!!最坑爹的來了,正常這樣操作後就沒問題了啊。

如果你運行代碼不再提示錯誤可以無視下面的內容。

還出問題的小夥伴們看一看 /usr/local/lib/python2.7/site-
packages / 或者 /usr/local/lib/python2.7/dist-packages/ 目錄下是不是有個名字為 cv2 的文件夾

刪掉它!問題就解決了。

來來回回重新安裝了一下午的 opencv,崩潰的要死!

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。