запивать кубинскую сигару односолодовым вискарёмкак пошло. Под сигару только коньяк и никакой Черчиль меня не переубедит.
namespace p = boost::python;
namespace np = boost::python::numpy;
outputCpu.convertTo(outputCpu, CV_32FC1); //4 байта BGRA
p::tuple shape = p::make_tuple(outputCpu.rows, outputCpu.cows);
np::dtype dtype = np::dtype::get_builtin<любой тип на 4 байта>();
np::ndarray buffer = np::zeros(shape, dtype);
memcpy(buffer.data, outputCpu.data, outputCpu.rows*outputCpu.cows*4); // 4 байта
int size=10;
int arr[size]{0,6,4,9,3,25,8,1,11,4};
bool success=false;
bool change=false;
int current=0;
int next=current+1;
int temp=0;
while (!success)
{
if (arr[current] > arr[next])
{
temp=arr[current];
arr[current]=arr[next];
arr[next]=temp;
change=true;
}
if (next<size)
{
current++;
}
else
{
current=0;
if (change)
{
change=false;
}
else
{
success=true;
}
}
next=current+1;
}
byte *byte_p = static_cast<byte*>(p);
Далее перемещать указатель по адресам до конца массива и считать количество byte. Как узнать что конец массива? Ну допустим "передатчик" поместит в последний элемент массива byte (допустим со значением 255) который будет сигнализировать об его окончании. "Приемник" будет проверять значения массива и если найдет byte==255 то значит все конец массива. Примерно как в с-строках, нуль-терминатор означает конец строки. Это если я правильно вас понял.