Opencv, Python и Raspberrypi3 - PullRequest
       25

Opencv, Python и Raspberrypi3

0 голосов
/ 07 мая 2018

Я делаю smartmirror с opencv. Я использую Rasbian, но у меня есть проблема.

Импорт необходимых пакетов

from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import cv2
def detect(img, cascade):
rects = cascade.detectMultiScale(img, scaleFactor=1.3, minNeighbors=4, 
                      minSize=(30, 30), flags=cv2.CASCADE_SCALE_IMAGE)
if len(rects) == 0:
    return []

rects[:,2:] += rects[:,:2]
return rects

def draw_rects(img, rects, color):
for x1, y1, x2, y2 in rects:
    cv2.rectangle(img, (x1, y1), (x2, y2), color, 2)

Инициализировать камеру и получить ссылку на необработанный снимок с камеры

camera = PiCamera()
camera.resolution = (640, 480)
camera.framerate = 32
rawCapture = PiRGBArray(camera, size=(640, 480))
cascade = cv2.CascadeClassifier("opencv-3.3.0/data/haarcascades/haarcascade_frontalface_alt.xml")

Разогреть камеру

time.sleep(0.1)
scan = 0

Захват кадров с камеры

for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):

    # grab the raw NumPy array representing the image, then initialize the timestamp
    # and occupied/unoccupied text
    img = frame.array
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    gray = cv2.equalizeHist(gray)
    rects = detect(gray, cascade)
    if len(rects) != 0:
        scan = 1
    vis = img.copy()
    draw_rects(vis, rects, (0, 255, 0))
    # show the frame
    cv2.imshow("Frame", vis)
    key = cv2.waitKey(1) & 0xFF
    # clear the stream in preparation for the next frame
    rawCapture.truncate(0)



# if the `q` key was pressed, break from the loop

if scan == 1:
    break

так, В виртуальной среде я хочу взять переменную (сканирование) в мой файл (.py). но я получаю ошибку, нет модуля с именем cv2 Как я могу использовать переменную (сканирование) в мой файл ??? помогите мне, пожалуйста.

Это мой файл (.py)

#smartmirror.py
from __future__ import print_function
from aplclient.discovery import build
from httplib2 import Http
from oauth2client import file, clinet, tools
from Tkinter import *
import locale

(used coding)
...