Ошибка обнаружения OpentvMultiScale [дубликат]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

31
задан arthurckl 28 May 2015 в 14:05
поделиться

11 ответов

Используйте весь путь к файлу и используйте «\\» вместо «\» в пути к файлу xml.

Путь к файлу должен быть следующим:

face_cascade = cv2.CascadeClassifier('C:\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_default.xml')

вместо:

cascade_fn = args.get('--cascade', "..\..\data\haarcascades\haarcascade_frontalface_alt.xml")
5
ответ дан Anubhav 17 August 2018 в 19:40
поделиться

Файл XML отсутствует, вы можете получить файл из репозитория GitHub и поместить его в тот же каталог, что и ваш проект. Ссылка на папку на GitHub - здесь . Просто загрузите файл с именем haarcascade_frontalface_default.xml . Фактически, файл существует в вашей системе. Просто зайдите в папку сайтов пакетов вашей папки установки python и проверьте папку cv2 / data для файла

4
ответ дан avneesh mishra 17 August 2018 в 19:40
поделиться

В OSX с установкой homebrew полный путь к папке opencv должен работать:

face_cascade = cv2.CascadeClassifier('/usr/local/Cellar/opencv/3.4.0_1/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('/usr/local/Cellar/opencv/3.4.0_1/share/OpenCV/haarcascades/haarcascade_eye.xml')

Позаботьтесь о номере версии в пути.

1
ответ дан Bernhard Essl 17 August 2018 в 19:40
поделиться

Ваш XML-файл не найден. Попробуйте использовать абсолютные пути, такие как:

/path/to/my/file (Mac, Linux)
C:\\path\\to\\my\\file (Windows)
0
ответ дан Clyde McQueen 17 August 2018 в 19:40
поделиться

Вероятно, face_cascade пуст. Вы можете проверить, пуста ли переменная или нет, набрав следующую команду:

face_cascade.empty()

Если она пуста, вы получите True, и это означает, что ваш файл недоступен по указанному вами пути. Попробуйте добавить полный путь к файлу xml следующим образом:

r'D:\folder Name\haarcascade_frontalface_default.xml'
2
ответ дан Hexfire 17 August 2018 в 19:40
поделиться

Если вы используете Anaconda, вы должны добавить путь Anaconda.

new_path = 'C:/Users/.../Anaconda/Library/etc/haarcascades/'

face_cascade = cv2.CascadeClassifier(new_path + 'haarcascade_frontalface_default.xml')
5
ответ дан JJJ 17 August 2018 в 19:40
поделиться

Я запустил тот же код. Здесь есть две вещи. 1. Дайте весь путь к файлам .xml. 2. Дайте команду завершения нажатия клавиши в конце.

Добавьте этот блок кода в конец и запустите свой файл, работал для меня:

k = cv2.waitKey(0)
if k == 27:         # wait for ESC key to exit
    cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
    cv2.imwrite('messigray.png',img)
    cv2.destroyAllWindows()

Например, мой Код выглядел как

import numpy as np
import cv2

face_cascade = cv2.CascadeClassifier('C:\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('C:\\opencv\\build\\etc\\haarcascades\\haarcascade_eye.xml')

img = cv2.imread('lena.jpg')

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.3, 5)
#faces = face_cascade.detectMultiScale(gray)

for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
    roi_gray = gray[y:y+h, x:x+w]
    roi_color = img[y:y+h, x:x+w]
    eyes = eye_cascade.detectMultiScale(roi_gray)
    for (ex,ey,ew,eh) in eyes:
        cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)

cv2.imshow('img',img)

k = cv2.waitKey(0)
if k == 27:         # wait for ESC key to exit
    cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
    cv2.imwrite('messigray.png',img)
    cv2.destroyAllWindows()

Мой вывод выглядел как , введите описание изображения здесь

8
ответ дан Keerthana Gopalakrishnan 17 August 2018 в 19:40
поделиться

ошибка может возникнуть из-за того, что необходимые файлы xml не были загружены должным образом. Найдите файл haarcascade_frontalface_default.xml с помощью поисковой системы ур-системы, получите полный путь и поместите его как аргумент cv2.CascadeClassifier в качестве строки

1
ответ дан Niharranjan Pradhan 17 August 2018 в 19:40
поделиться

Отсутствует XML или файл, или путь к нему неверен или путь create_capture неверен.

Пути в образце opencv выглядят следующим образом:

cascade_fn = args.get('--cascade', "../../data/haarcascades/haarcascade_frontalface_alt.xml")
nested_fn  = args.get('--nested-cascade', "../../data/haarcascades/haarcascade_eye.xml")

cam = create_capture(video_src, fallback='synth:bg=../data/lena.jpg:noise=0.05')
25
ответ дан Person 17 August 2018 в 19:40
поделиться

Вы можете найти такие ошибки, если не определили полный путь к вашему XML-файлу. Попробуйте это, если вы используете opencv3.1.0 в raspberrypi 3: « faceCascade = cv2.CascadeClassifier ('/ home / pi / opencv-3.1.0 / data / haarcascades / haarcascade_frontalface_default.xml ')"

2
ответ дан Sahil Sharma 17 August 2018 в 19:40
поделиться
0
ответ дан Codemaker 29 October 2018 в 19:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: