You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am always getting bad alloc error while building distance transform?
Any idea why is this happening? The number of points in my pointcloud are around 250 only.
Building Distance Transform...
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
[1] 9507 abort
Problem occurs somewhere in the initiliasation of Array3d object.
void Array3d<T>::Init(int x, int y, int z)
{
Xdim = x;
Ydim = y;
Zdim = z;
// allocate the memory for the first level pointers.
int n1 = z, n2 = y, n3 = x;
data = new T** [n1];
// set the first level pointers and allocate the memory for the second level pointers.
{
data[0] = new T* [n1 * n2];
for (int row1_index = 0; row1_index < n1; row1_index++)
data [row1_index] = data[0] + n2 * row1_index;
}
T* array_ptr = new T [n1*n2*n3];
data_array = array_ptr;
// set the second level pointers.
for (int row1_index = 0; row1_index < n1; row1_index++)
for (int row2_index = 0; row2_index < n2; row2_index++) {
data [row1_index][row2_index] = array_ptr;
array_ptr += n3;
}
}
The text was updated successfully, but these errors were encountered:
I am always getting bad alloc error while building distance transform?
Any idea why is this happening? The number of points in my pointcloud are around 250 only.
Problem occurs somewhere in the initiliasation of Array3d object.
The text was updated successfully, but these errors were encountered: