Если вы хотите прочитать обе строки и 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();
Обратите внимание на сообщение об ошибке:
Ошибка: (-215) (глубина == CV_8U || depth == CV_32F) & amp; & amp; & amp; & amp; & amp; & amp; type == _templ.type () & amp; & amp; & amp; _img.dims () & lt; = 2 в функции cv :: matchTemplate
blockquote>Это означает, что тип данных изображения должен быть 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 могут быть в любом диапазоне.