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

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

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

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

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 了

-----------------------------------------------------------------------------------------------------------------------------------------

提示錯誤:

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,崩潰的要死!

相關推薦

LinuxOpencvPython安裝opencv以及無法使用cv2.imshow()解決辦法Ubuntu14.04

------【2017.07.14 更新】------------------------------------------------------- 安裝opencv3每次cmake都要下載3rd

python升級導致yum命令無法使用的解決辦法修改版

1、報錯資訊如下:[[email protected] bin]# yum [[email protected] local]# yum -y install prce There was a problem importing one of the P

關於Python安裝後升級pip失敗的解決辦法實測有效

問題還原:    (1)安裝requests時出現pip需要升級。。。 (2)先檢查pip的版本            win+R,鍵入cmd回車,鍵入pip -V                         當前版本為9.0.3 (3)升級pip

linux安裝Gitlab伺服器後登入報錯502解決辦法圖文集合

     前幾天安裝好了本地的Gitlab伺服器,都沒什麼問題,可以直接開啟。但是今天一通過 http//192.168.1.164:9090 來訪問直接報了502錯誤。如下圖: 502錯誤就是閘道器錯誤: 伺服器正在作為一個閘道器或代

linux centos7安裝tomcat7以及遇到坑的解決辦法

前言:最近買了一個阿里雲伺服器準備安裝tomcat做web容器,之前安裝tomcat是so easy的事情,這次安裝卻遇到了很多個坑,再次總結一下,避免以後自己再出現同樣的錯誤。 一、安裝tomcat 1 下載tomcat 2 安裝tomcat 安裝好jd

linux centos7安裝tomcat8以及遇到坑的解決辦法

下載tomcat 下載路徑:http://tomcat.apache.org/download-80.cgi 在/usr/local 下 新建 tomcat目錄 使用winSCP將apache-tomcat-8.5.37.tar.gz安裝包複製到tomcat目錄下 輸

python輸出中文報錯的真正原因,及解決辦法基於pycharm

編譯器 網上 err 設備 class charm 就是 tin sta 通常python3裏面如果有中文,在不連接其他設備和程序的情況下,報錯信息大致如下: SyntaxError: Non-UTF-8 code starting with ‘\xd6‘ in file

Linux搭建創建FTP服務器---完美解決 - 費元星

lib 組織 ensp security system 改密 裝機 用戶添加 def 配置大紅字文件置頂: vsftp d.conf 4.5KB useradd -d /home/bai_du -s /sbin/nolo

linux下dhcp服務的簡單搭建

手動 height nbsp network ima server 分配 onf img dhcp server: 1::vim /etc/sysconfig/network-scripts/ifcfg-scfg:配置 server的 static IP:

人生苦短,我用python!幾行python處理檔案裡面的重複內容包括了讀寫檔案,過濾重複!

The beauty of python 1 https://blog.csdn.net/dengyaolongacmblog/article/details/38016905 置頂 2014年07月21日 15:28:18 yaolongdeng 閱讀數:2189 標籤:

轉載記錄win7+vs2017+opencv3.4.1+cmake安裝opencv圖文全過程

1.下載軟體:vs2017,並安裝 通用windows平臺開發、.net桌面開發、使用C++的桌面開發。(幾個都安裝比較保險,也不會需要太久) 2.下載opencv-3.4.1-vc14_vc15,並點選執行(實際為解壓) 下載地址:https://download.

Linux運維-叢集技術進階叢集/分散式環境下5種session處理策略

前言 在搭建完叢集環境後,不得不考慮的一個問題就是使用者訪問產生的session如何處理。如果不做任何處理的話,使用者將出現頻繁登入的現象,比如叢集中存在A、B兩臺伺服器,使用者在第一次訪問網站時,Nginx通過其負載均衡機制將使用者請求轉發到A伺服器,這時A伺服器

Pythondjango報錯:TypeError: __init__() missing 1 required positional argument: 'on_delete'解決辦法

錯誤程式碼: from __future__ import unicode_literals from django.db import models from django.utils.encoding import python_2_unicode_compatible

Linux下自定義Shell終端提示符

目錄 基本轉義符 字型顏色 背景顏色 移動游標 @ Linux系統終端提示符的特徵由系統環境變數 PS1(Prompt String One)定義。 我們可以通過命令echo $PS1來檢視當前設定,如下圖: 同樣,我們可以通過修改PS1的值來改變終端提示資訊: 但這只是臨時

python爬蟲動態載入頁面的解決辦法以ins為例

現在很多的web頁面使用ajax技術動態載入頁面。但對於爬蟲來說,目標資料很可能不在頁面HTML原始碼中(右鍵檢視網頁原始碼,通過F12查詢),針對靜態頁面的爬蟲不再滿足現在的需求。 很多教程都推薦用Selenium和PhantomJS配合使用,實現網頁的渲染,得到網頁的全

Linux運維-叢集技術進階keepalived工作原理和配置檔案解析

keepalived是什麼 keepalived是叢集管理中保證叢集高可用的一個服務軟體,其功能類似於heartbeat,用來防止單點故障,它可以自動檢測叢集中伺服器的健康狀況,比如主從模式時,當主伺

Linux運維-叢集技術進階Nginx+Keepalived+Tomcat搭建高可用/負載均衡/動靜分離的Web伺服器叢集

額,部落格名字有點長。。。 前言 終於到這篇文章了,心情是有點激動的。因為這篇文章會集中以前部落格講到的所有Nginx功能點,包括基本的負載均衡,還有動靜分離技術再加上這篇文章的重點,通過Keepalived實現的HA(High Available),為什麼

Linux 核心網路協議棧原始碼剖析socket.c——BSD Socket層1

寫在前面:本系列文章先把各個層對應的檔案原始碼剖析一遍,最後再穿插起來,理清整個協議棧網路資料包的上下傳送通道,從整體實現上進行把握。         圖片來源於《Linux 核心網路棧原始碼情景分析》 更上層函式:tcp socket函式介紹。本篇則是介紹BSD Sock

linux工具使用無法使用ssh 登入ubuntu16.04的問題解決方案root賬戶

1.首先使用sudo apt-get install ssh 安裝最新的ssh服務。 2.windows的ssh client 的版本是3.2.9 啟動ssh服務後,採用client客戶端登入(登入賬號為root賬戶)虛擬機器出現(algorithm negotiation

Linux運維-叢集技術進階Nginx的安裝配置

軟體下載 開始安裝 ① 解壓檔案 [root@localhost ~]# cd /usr/local/software/ [root@localhost software]# tar -z