, . :
std::vector<cv::Mat> particle(N, cv::Mat(4, 1, CV_32F));
, N Mat, 4 1 float. , , ... ! , Mat ? , Mat . , . . ? , :
template<class T>
vector::vector (size_type n, const value_type& val = value_type(),
const allocator_type& alloc = allocator_type()) {
this->resize(n);
for(int i=0;i<n;i++)
this->innerBuffer[i] = alloc(val);
}
cv:: Mat, . , , . Mat:: clone(). clone(). , , Mat , !
, ( , ):
for (int i = 0; i < N; i++)
{
particle[i].at<float>(0, 0) = Init.at<float>(0, 0) + distribution(generator);
particle[i].at<float>(1, 0) = Init.at<float>(1, 0) + distribution(generator);
particle[i].at<float>(2, 0) = 0.0;
particle[i].at<float>(3, 0) = 0.0;
cout << particle[i] << "\n";
}
for (int i = 0; i < N; i++)
{
int x = particle[i].at<float>(0, 0);
int y = particle[i].at<float>(1, 0);
rectangle(frame, Rect(x, y, 42, 31), Scalar(0, 255, 0), 1, 8, 0);
}
for (int i = 0; i < N; i++)
{
particle[i].at<float>(0, 0) = Init.at<float>(0, 0) + distribution(generator);
particle[i].at<float>(1, 0) = Init.at<float>(1, 0) + distribution(generator);
particle[i].at<float>(2, 0) = 0.0;
particle[i].at<float>(3, 0) = 0.0;
}
for (int i = 0; i < N; i++)
{
cout << particle[i] << "\n";
int x = particle[i].at<float>(0, 0);
int y = particle[i].at<float>(1, 0);
rectangle(frame, Rect(x, y, 42, 31), Scalar(0, 255, 0), 1, 8, 0);
}
, .
: ()
vector(size_type __n, const value_type& __value,
00199 const allocator_type& __a = allocator_type())
00200 : _Base(__n, __a)
00201 { this->_M_impl._M_finish = std::uninitialized_fill_n(this->
00202 _M_impl._M_start,
00203 __n, __value); }
00204