1. 程式人生 > >關於python環境下的opencv安裝

關於python環境下的opencv安裝

吐槽:

  這一天我終於記起了這個部落格。今天搞python環境下的opencv,又弄了一天,很煩躁。之前配置VS的opencv也是花了好久的時間,然後突然發現之前記錄在電腦上的文件都找不到了,於是決定還是寫寫部落格吧,之後應該會把之前做過的一些東西也發上來,以作儲存。這篇興致所作,寫的就隨意些了。

環境:

  直接上環境。

  •   作業系統:win7 64位
  •   語言:python3.6.3
  •   庫:opencv-python-3.4.3.18, opencv-contrib-python-3.4.3.18
  •   IDE: PyCharm

安裝:

  其實python下安裝opencv相當簡單,直接用pip安裝就行了

pip3 install opencv-python

  安裝好後,隨意寫了個簡單的demo可以用了

import  cv2

if __name__ == '__main__':
    video = cv2.VideoCapture("seq_hotel.avi")
    ok, frame = video.read()
    if ok:
        cv2.imshow("tracker", frame)
    while True:
        ok, frame = video.read()
        if ok:
            cv2.imshow(
"tracker",frame) k = cv2.waitKey(1) & 0xff if k == 27: break

  裝這個本來是要試一下python下opencv的tracker的,執行發現提示cv2 'module' object has no attribute 'Tracker_create',之前有用過c++的,所以知道是少了contrib,於是,繼續pip

pip3 install opencv-contrib-python

  這樣配置後,程式碼可以運行了(其實並不可以,這裡很奇怪,按理來說,應該沒什麼問題,pycharm下配置Interpreter也ok了,但是不知道我哪一步誤操作了,然後我把opencv都uninstall了,在

https://www.lfd.uci.edu/~gohlke/pythonlibs/上下了對應版本的opencv_python-3.4.4+contrib-cp36-cp36m-win_amd64.whl安裝,也是通過pip安裝,之後程式碼就可以運行了,但是真正的坑才開始)

  Tracker的程式碼跑起來了,很開心,但是發現pycharm關於cv2沒有程式碼提示,這不能忍啊!於是開始了漫長的搜尋之旅。查了發現幾乎都是用Anaconda,然而我不是很喜歡用它啊,但看到這篇https://blog.csdn.net/qq_36735489/article/details/82110972感覺有點靠譜,雖然好像也是Anaconda的,不過沒關係,python安裝目錄下也有Lib\site-packages,在這下面找到cv2\__init__.py改一下嘛。居然沒有!!!然後我又花了半天時間查,最後沒找到解決辦法,決定重灌原來的opencv,於是卸了再裝,之後,發現有\Lib\site-packages\cv2這個目錄,找到__init__.py,修改如下:

import sys
import os
import importlib
os.environ["PATH"] += os.pathsep + os.path.dirname(os.path.realpath(__file__))
from .cv2 import *
from .data import *

# wildcard import above does not import "private" variables like __version__
# this makes them available
globals().update(importlib.import_module('cv2.cv2').__dict__)

  之後,測試程式碼自動提示,成功

pycharm opencv 程式碼提示

結束