OpenCv 输入样本必须是浮点矩阵 ERROR

Posted

技术标签:

【中文标题】OpenCv 输入样本必须是浮点矩阵 ERROR【英文标题】:OpenCv input samples must be floating-point matrix ERROR 【发布时间】:2014-04-12 18:55:15 【问题描述】:

您好,我正在使用此代码进行 find_nearest

resize(ROI, tmp1, Size(10, 15), 0, 0, INTER_LINEAR);
tmp1.convertTo(tmp2, CV_32FC1);
float p = knn.find_nearest(tmp2.reshape(1, 1), 1);

但我收到Input Samples must be floating-point matrix

为什么??

【问题讨论】:

你在哪里定义tmp2 【参考方案1】:

我有 sam 错误,但我尝试通过将矩阵 (temp2) 转换为 1D 来解决它

【讨论】:

【参考方案2】:

检查矩阵尺寸

我设法通过转置示例矩阵(在您的情况下为tmp2)解决了这个问题。除了让元素浮动之外,它还应该具有正确的尺寸(如异常消息中所述):(<num_samples>x<var_count>))

【讨论】:

以上是关于OpenCv 输入样本必须是浮点矩阵 ERROR的主要内容,如果未能解决你的问题,请参考以下文章

opencv kmeans 聚类的输入矩阵

opencv源代码分析:icvGetTrainingDataCallback简单介绍

OpenCV仅用一个样本计算协方差矩阵

OpenCV 将浮点数据输入图像拼接过程

TrainData类型数据集(OpenCV案例源码letter_recog.cpp解读2)

OpenCV——识别手写体数字