Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类型错误:只能将长度为1的数组转换为Python标量_Python_Opencv_Opencv3.0 - Fatal编程技术网

类型错误:只能将长度为1的数组转换为Python标量

类型错误:只能将长度为1的数组转换为Python标量,python,opencv,opencv3.0,Python,Opencv,Opencv3.0,我是openCV的初学者,正在尝试分析数独解算器的现有代码。这段代码会抛出一个错误 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) 错误如下类型错误:只有长度为1的数组才能

我是openCV的初学者,正在尝试分析数独解算器的现有代码。这段代码会抛出一个错误

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)
错误如下
类型错误:只有长度为1的数组才能转换为Python标量

完整的回溯如下所示:

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
C:\Study stuff\FinalProject>C:\Python27\python.exe Sudoku.py
回溯(最近一次呼叫最后一次):
文件“Sudoku.py”,第15行,在
模型训练(样本、响应)
TypeError:只有长度为1的数组才能转换为Python标量

知道问题是什么吗?

您收到的错误消息:

TypeError: Only length-1 arrays can be converted to Python Scalars
字面意思是:您在一个地方提供了一个包含多个元素的数组,该地方需要一个单个值或单个元素的数组

所以传递给call
model.train(示例、响应)
的一个参数需要和标量。。。但是哪个呢

查看的最新文档,允许我们看到以下签名:

虚拟boolcv::ml::StatModel::train(输入阵列示例、int布局、输入阵列响应)

显然,添加了一个新的
布局
参数。但从文档来看,它有点模糊

在不知道文件内容的情况下,我无法判断您是否需要传递
ROW_SAMPLE
COL_SAMPLE
,但有了这些信息,我可以找到一个,其解决方案是将
cv2.ml.ROW_SAMPLE
作为train方法的第二个参数:

model.train(samples, cv2.ml.ROW_SAMPLE, responses) 

由于在最新版本中进行了一系列重构操作而发生错误。

你有完整的回溯吗?@memoselyk我添加了完整的回溯