OPENCV中给定矩阵的错误形状

OPENCV中给定矩阵的错误形状,opencv,Opencv,我正在尝试使用opencv执行面部识别。为此,训练图像和测试图像必须具有相同的大小。 所以我用了这个函数: resize(testing,output, images[0].size(),0,0,INTER_NEAREST); 其中测试是网络摄像头中的我的Mat,输出是调整大小的图像,图像[0]。size()是我的矢量图像数据库。 但是,我得到以下错误: OpenCV Error: Bad argument (Wrong shapes for given matrices. Was size(

我正在尝试使用opencv执行面部识别。为此,训练图像和测试图像必须具有相同的大小。 所以我用了这个函数:

resize(testing,output, images[0].size(),0,0,INTER_NEAREST);
其中测试是网络摄像头中的我的Mat,输出是调整大小的图像,图像[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

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

调整矩阵大小之前,应使用将矩阵转换为灰度: