& ldquo; ошибка: (-215) (глубина == CV_8U || depth == CV_32F) & rdquo; ошибка при сопоставлении с шаблоном в open cv и numpy [duplicate]

Если вы хотите прочитать обе строки и ints, решение должно использовать два сканера:

Scanner stringScanner = new Scanner(System.in);
Scanner intScanner = new Scanner(System.in);

intScanner.nextInt();
String s = stringScanner.nextLine(); // unaffected by previous nextInt()
System.out.println(s);

intScanner.close();
stringScanner.close();
8
задан Miki 15 September 2015 в 18:36
поделиться

1 ответ

Обратите внимание на сообщение об ошибке:

Ошибка

: (-215) (глубина == CV_8U || depth == CV_32F) & amp; & amp; & amp; & amp; & amp; & amp; type == _templ.type () & amp; & amp; & amp; _img.dims () & lt; = 2 в функции cv :: matchTemplate

Это означает, что тип данных изображения должен быть CV_8U или CV_32F и должен иметь 3 или менее канала.

Если вы не знаете, что CV_8U, CV_32F означает, см. этот список .

Возможно, вы передаете numpy объекты, отличные от np.uint8 или np. float32. вы можете легко преобразовать numpy dtype в 8-битный или 32-разрядный, используя:

img.astype(np.float32)
img.astype(np.uint8)

Просто обратите внимание, что OpenCV ожидает, что 8-битные данные CV_8U будут в диапазоне 0..255 и CV_32F могут быть в любом диапазоне.

11
ответ дан Elad Joseph 28 August 2018 в 22:11
поделиться
Другие вопросы по тегам:

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