2問題在這裏:
1)它需要一個固定大小的東西。
2)你的載體最初是空
你可以使用一個標量,一個(預分配的)墊,或Vec4d,但不一個std :: vector的。
Mat hist(10,1,CV_32F);
randu(hist,1,100);
cerr << hist << endl;
{
Scalar m, stdv;
meanStdDev(hist, m, stdv);
cerr << m << " " << stdv << endl;
}
{
Mat m(1,4,CV_64F),stdv(1,4,CV_64F);
meanStdDev(hist, m, stdv);
cerr << m << " " << stdv << endl;
}
{
Vec4d m,stdv;
meanStdDev(hist, m, stdv);
cerr << m << " " << stdv << endl;
}
[53.497997;
20.72666;
40.704884;
81.624123;
44.276165;
25.63018;
77.537399;
76.447281;
31.471653;
70.540741]
[52.2457, 0, 0, 0] [21.8056, 0, 0, 0]
[52.245703125] [21.80564409388921]
[52.2457, 0, 0, 0] [21.8056, 0, 0, 0]
理解你的第一點,但不是第二個塊,因爲在你的第二個塊Mat m(1,4,CV_64F)也是一個空向量。 – Navdeep
不,它有4個(未初始化的)元素,你的向量沒有。 – berak
好的感謝您的好解釋。 – Navdeep