Невозможно импортировать NumPy или Matplotlib в Pycharm - PullRequest
0 голосов
/ 05 ноября 2018

Так что я понятия не имею, почему это происходит. Я установил все зависимости через cmd, используя python -m pi install -U (dependencies), и в настройках интерпретатора PyCharm я также установил их и ясно вижу, что они добавлены в интерпретатор проекта. Но всякий раз, когда я пытаюсь импортировать их в свой код, я получаю «ошибку неиспользованного оператора импорта» с выделением кода серым цветом.

Файлы определенно есть. Я попытался переустановить их во второй раз, и CMD подтверждает, что они уже установлены.

Я использую последнюю версию PyCharm (не бета) JetBrains PyCharm Community Edition 2018.2.4 x64. И Python 3.7. Мой установочный каталог - C: \ Python 3.7 \, а в каталоге site-packages я четко вижу там файлы.

Простая программа обнаружения движения (без встроенных в код импортированных зависимостей):

from __future__ import division
import cv2
from matplotlib import pyplot as plt
import numpy as np
from math import cos, sin

first_frame = None

video = cv2.VideoCapture(0)

a = 1

while True:
    a = a + 1

    check, frame = video.read()
    print(frame)

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    gray = cv2.GaussianBlur(gray, (21, 21), 0)

    if first_frame is None:
        first_frame = gray
        continue

    delta_frame = cv2.absdiff(first_frame, gray)

    thresh_delta = cv2.threshold(delta_frame, 40, 255, cv2.THRESH_BINARY)[1]

    erode = cv2.erode(thresh_delta, None, iterations=1)

    dilate = cv2.dilate(erode, None, iterations=1)

    (_, cnts, _) = cv2.findContours(dilate.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    for contour in cnts:
        if cv2.contourArea(contour) < 200:
            continue

        (x, y, w, h) = cv2.boundingRect(contour)
        cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)

    cv2.imshow('captureFrame', frame)
    cv2.imshow('captureGrey', gray)
    cv2.imshow('delta', delta_frame)
    cv2.imshow('thresh', thresh_delta)
    cv2.imshow('dilate', dilate)

    key = cv2.waitKey(1)

    if key == ord('q'):
        break

print(a)
video.release()
cv2.destroyAllWindows()

interpriter

error

site-packages

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...