OPENCV中给定矩阵的形状错误

时间:2012-08-20 05:32:54

标签: opencv

我正在尝试使用opencv进行面部识别。为此,训练和测试图像必须具有相同的尺寸。  所以我使用了这个功能:

resize(testing,output, images[0].size(),0,0,INTER_NEAREST);

如果测试是来自网络摄像头的Mat,则Output是调整大小的图像,images [0] .size()是我的矢量图像数据库。  但是我收到以下错误:

OpenCV Error: Bad argument (Wrong shapes for given matrices. Was size(src) = (1,921600), 
size(W) = (307200,6).) in subspaceProject,
file /home/someplae/OpenCV-2.4.2/modules/contrib/src/lda.cpp, 
line 187
terminate called after throwing an instance of 'cv::Exception'
what():  /home/someplace/OpenCV-2.4.2/modules/contrib/src/lda.cpp:187: 
error: (-5) Wrong shapes for given matrices. Was size(src) = (1,921600), size(W) = (307200,6). 
in function subspaceProject

1 个答案:

答案 0 :(得分:15)

虽然您没有提供足够的代码来验证,但我可以从给定数量的元素中推断出问题。你的测试矩阵是921600 = 3 * 307200 ...所以我猜你的输入矩阵不是灰度矩阵,但仍然是BGR表示。

在调整矩阵大小之前,您应该使用cv::cvtColor将矩阵转换为灰度: