2016-04-26 12 views
0

我試圖按照本教程使用Python/OpenCV的來計算的對象來自攝像頭的距離:http://www.pyimagesearch.com/2015/01/19/find-distance-camera-objectmarker-using-python-opencv/有一個可怕的時間試圖讓OpenCV的工作

我的Ubuntu箱。我使用pip很容易地安裝了numpy,但我有一段時間試圖讓opencv工作。我通過這篇文章去從源代碼安裝:http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/

一切好像安裝了正確的......當我運行dpkg -l | grep libopencv我得到 ii libopencv-calib3d2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision Camera Calibration library ii libopencv-contrib2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision contrib library ii libopencv-core2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision core library ii libopencv-features2d2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision Feature Detection and Descriptor Extraction library ii libopencv-flann2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision Clustering and Search in Multi-Dimensional spaces library ii libopencv-highgui2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision High-level GUI and Media I/O library ii libopencv-imgproc2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision Image Processing library ii libopencv-legacy2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision legacy library ii libopencv-ml2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision Machine Learning library ii libopencv-objdetect2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision Object Detection library ii libopencv-photo2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision computational photography library ii libopencv-video2.4:amd64 2.4.8+dfsg1-2ubuntu1 amd64 computer vision Video analysis library

但是當我下載的源代碼,並從運行的代碼第一個鏈接,我得到這個錯誤:

OpenCV Error: Assertion failed (step[dims-1] == (size_t)CV_ELEM_SIZE(flags)) in create, file /home/nitrous/opencv-2.4.9/modules/core/src/matrix.cpp, line 236 Traceback (most recent call last): File "distance_to_camera.py", line 41, in <module> marker = find_marker(image) File "distance_to_camera.py", line 16, in find_marker (cnts, _) = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) cv2.error: /home/nitrous/opencv-2.4.9/modules/core/src/matrix.cpp:236: error: (-215) step[dims-1] == (size_t)CV_ELEM_SIZE(flags) in function create

回答

0

使用軟件包管理:

sudo apt-get install python-opencv 

如果您需要Python3版本,請將其更改爲python3-opencv。它會爲你安裝所有的依賴項,包括python-numpy。

請不要將pip用於aptitude的全局包,如果您使用pip(如上所示),則由系統和YMMV處理。如果您想使用pip,請創建一個virtualenv來安裝單個軟件包。

對於任何將來的包,檢查包中可用的資質,只需運行:

apt-cache search python-{package} 

apt-cache search python3-{package} 

這將讓你知道,如果有任何安裝的候選人。如果軟件包的-dev版本可用,則可能還需要安裝它。

+0

我已經做了,在這裏完成 蟒蛇,OpenCV的結果'''sudo易於得到安裝python-OpenCV的 讀取軟件包列表...完成 大廈的依賴關係樹 讀取狀態信息...已經是最新版本。 0升級,0新安裝,0刪除和0未升級 –

+0

您是否嘗試過:'import cv2'(this imports Open CV2)。這可能意味着您的模塊已經安裝。 –

+0

是的,在我使用的代碼的第2行中,我有這個:'import cv2' –