mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 09:25:45 +08:00
fix for gpu::StereoBeliefPropogation:
use continuous memory for internal buffers
This commit is contained in:
parent
76235cbb70
commit
e2a9df408f
@ -158,7 +158,7 @@ namespace
|
||||
|
||||
init(stream);
|
||||
|
||||
datas[0].create(rows * rthis.ndisp, cols, rthis.msg_type);
|
||||
createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, datas[0]);
|
||||
|
||||
comp_data_callers[rthis.msg_type == CV_32F][left.channels()](left, right, datas[0], StreamAccessor::getStream(stream));
|
||||
|
||||
@ -187,10 +187,10 @@ namespace
|
||||
private:
|
||||
void init(Stream& stream)
|
||||
{
|
||||
u.create(rows * rthis.ndisp, cols, rthis.msg_type);
|
||||
d.create(rows * rthis.ndisp, cols, rthis.msg_type);
|
||||
l.create(rows * rthis.ndisp, cols, rthis.msg_type);
|
||||
r.create(rows * rthis.ndisp, cols, rthis.msg_type);
|
||||
createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, u);
|
||||
createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, d);
|
||||
createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, l);
|
||||
createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, r);
|
||||
|
||||
if (rthis.levels & 1)
|
||||
{
|
||||
@ -216,10 +216,10 @@ namespace
|
||||
int less_rows = rows / 2;
|
||||
int less_cols = cols / 2;
|
||||
|
||||
u2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type);
|
||||
d2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type);
|
||||
l2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type);
|
||||
r2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type);
|
||||
createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, u2);
|
||||
createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, d2);
|
||||
createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, l2);
|
||||
createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, r2);
|
||||
|
||||
if ((rthis.levels & 1) == 0)
|
||||
{
|
||||
@ -286,7 +286,7 @@ namespace
|
||||
cols_all[i] = cols_all[i-1] / 2;
|
||||
rows_all[i] = rows_all[i-1] / 2;
|
||||
|
||||
datas[i].create(rows_all[i] * rthis.ndisp, cols_all[i], rthis.msg_type);
|
||||
createContinuous(rows_all[i] * rthis.ndisp, cols_all[i], rthis.msg_type, datas[i]);
|
||||
|
||||
data_step_down_callers[funcIdx](cols_all[i], rows_all[i], rows_all[i-1], datas[i-1], datas[i], cudaStream);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user