ha9*_*3ar 5 opencv types mismatch
我正在使用OpenCV 2.4.2,我试图(tmpl(32x44), subj(32x44))
沿着行和列对两个矩阵进行投影.我已经初始化了一个结果矩阵,rowProjectionSubj(subj.rows,1,CV_8UC1)
然后我打电话cv::reduce(subj,rowProjectionSubj,1,CV_REDUCE_SUM,-1);
为什么抱怨类型不匹配?我一直类型相同(通过保持dtype=-1
在cv::reduce
.我得到的tmpl
和subj
做的对象cv::imread("image_path",0)
,即在扫描灰度图像.
我可能不对,但是当我看到这个之后:
通过一个小实验并使用一个名为“寄存器数学”的老朋友,我意识到当你将两个8位数字相加时,你需要考虑一个8+1+1位寄存器来存储总和,因为它可能有进位输出。因此,reduce 的任何结果都应该比源有更大的空间,即如果源是 8 位无符号的,则它应该至少是 16 位无符号或有符号的;如果要用于某些产品计算之类的东西,也可能是 32 位的......
注意:目标类型必须在 cv::reduce 方法中明确说明。请关注我的 openCV 链接以获取更多信息。