Ошибка типа: только массивы длиной-1 могут быть преобразованы в сканирование Python

Я начинаю openCV и пытаюсь проанализировать существующий код для решения sudoku. Существует этот раздел кода, который вызывает ошибку.

samples = np.float32(np.loadtxt('feature_vector_pixels.data')) responses = np.float32(np.loadtxt('samples_pixels.data')) model = cv2.ml.KNearest_create() model.train(samples, responses) 

Ошибка следующая Type Error: Only length-1 arrays can be converted to Python Scalars .

Полная трассировка следующая:

 C:\Study stuff\FinalProject>c:\Python27\python.exe Sudoku.py Traceback (most recent call last): File "Sudoku.py", line 15, in <module> model.train(samples, responses) TypeError: only length-1 arrays can be converted to Python scalars 

Любая идея о том, в чем проблема?

One Solution collect form web for “Ошибка типа: только массивы длиной-1 могут быть преобразованы в сканирование Python”

Сообщение об ошибке, которое вы получаете:

 TypeError: Only length-1 arrays can be converted to Python Scalars 

буквально означает: вы предоставили массив из более чем одного элемента в месте, где ожидалось одно значение или массив из одного элемента .

Поэтому один из аргументов, переданных для вызова model.train(samples, responses) требует и скалярного … но что?

Взгляните на последнюю документацию класса KNearest , чтобы увидеть подпись метода StatsModel.train :

virtual bool cv :: ml :: StatModel :: train (образцы InputArray, макет int, ответы InputArray)

По-видимому, был добавлен новый аргумент layout . Но это значит, что это немного неясно из документации.

Без знания содержимого вашего файла я не могу сказать, нужно ли вам передавать ROW_SAMPLE или COL_SAMPLE , но вооруженный этой информацией, я мог бы найти аналогичный вопрос , решение которого заключалось в том, чтобы добавить cv2.ml.ROW_SAMPLE качестве второго аргумента в метод поезда:

 model.train(samples, cv2.ml.ROW_SAMPLE, responses) 
  • Ошибка OpenCV: (-215) size.width> 0 && size.height> 0 в функции imshow
  • Преобразовать поезд KNN с Opencv 3 до 2
  • python opencv matchTemplate реализована функция маски?
  • KNN train () в cv2 с opencv 3.0
  • Что такое замена cv2.cv в OpenCV3?
  • проблема совместимости с контуром в openCV 3
  • Python: печатать только один раз внутри цикла
  • python opencv cv2 matchTemplate с прозрачностью
  • Python - лучший язык программирования в мире.