Opencv: импортировать highgui с python - PullRequest
1 голос
/ 29 апреля 2011

С помощью следующего кода:

import cv

cv.NamedWindow("w1", cv.CV_WINDOW_AUTOSIZE)
camera_index = 0
capture = cv.CaptureFromCAM(camera_index)

def repeat():
  global capture #declare as globals since we are assigning to them now
  global camera_index
  frame = cv.QueryFrame(capture)
  cv.ShowImage("w1", frame)
  c = highgui.cvWaitKey(10)
  if(c=="n"): #in "n" key is pressed while the popup window is in focus
    camera_index += 1 #try the next camera index
    capture = cv.CaptureFromCAM(camera_index)
    if not capture: #if the next camera index didn't work, reset to 0.
        camera_index = 0
        capture = cv.CaptureFromCAM(camera_index)

while True:
    repeat()

Traceback (последний вызов был последним): файл "pycam.py", строка 21, в repeat () Файл "pycam.py", строка 12, inrepeat c = highgui.cvWaitKey (10) NameError: глобальное имя 'highgui' не определено. Очищенная камера.

Ответы [ 2 ]

6 голосов
/ 03 мая 2011

В новом API было довольно много изменений.Будет работать следующее:

import cv

cv.NamedWindow("w1", cv.CV_WINDOW_AUTOSIZE)
camera_index = 0
capture = cv.CaptureFromCAM(camera_index)

def repeat():
  global capture #declare as globals since we are assigning to them now
  global camera_index
  frame = cv.QueryFrame(capture)
  cv.ShowImage("w1", frame)
  c = cv.WaitKey(10)
  if(c=="n"): #in "n" key is pressed while the popup window is in focus
    camera_index += 1 #try the next camera index
    capture = cv.CaptureFromCAM(camera_index)
    if not capture: #if the next camera index didn't work, reset to 0.
        camera_index = 0
        capture = cv.CaptureFromCAM(camera_index)

while True:
    repeat()

Это более простой и чистый синтаксис!

0 голосов
/ 29 апреля 2011

Это означает, что highgui не существует. Попробуйте импортировать так: from opencv import *.

Если это не сработает, попробуйте проверить установку opencv.

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