hans

hans

【Linux】【Opencv】【Python】Opencvのインストールとcv2.imshow()の問題解決方法(Ubuntu14.04)


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

opencv3 のインストール時には毎回 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 を解凍します。

解凍されたディレクトリを 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/ にアクセスします。

リリースをクリックします。

opencv-2.4.13 のソースコードパッケージをダウンロードします。

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/ ディレクトリにコピーします

2 番目の場合は /usr/lib/python2.7/dist-packages/ ディレクトリにコピーします

以上です!!!最も厄介な問題がやってきましたが、これで問題は解決されるはずです。

コードを実行してエラーメッセージが表示されなくなった場合は、以下の内容は無視してください。

まだ問題が発生している場合は、/usr/local/lib/python2.7/site-
packages / または /usr/local/lib/python2.7/dist-packages/ ディレクトリに cv2 という名前のフォルダがあるかどうかを確認してください。

それを削除してください!問題が解決されます。

opencv を再インストールするために何度も何度も操作して、崩壊しそうです!

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。