diff --git a/modules/dnn/src/dnn.cpp b/modules/dnn/src/dnn.cpp index a2a3e1224..d942a3de9 100644 --- a/modules/dnn/src/dnn.cpp +++ b/modules/dnn/src/dnn.cpp @@ -604,10 +604,10 @@ void Net::setBlob(String outputName, const Mat &blob_) LayerData &ld = impl->layers[pin.lid]; ld.outputBlobs.resize( std::max(pin.oid+1, (int)ld.requiredOutputs.size()) ); - MatSize prevShape = ld.outputBlobs[pin.oid].size; + bool oldShape = ld.outputBlobs[pin.oid].size == blob_.size; ld.outputBlobs[pin.oid] = blob_.clone(); - impl->netWasAllocated = impl->netWasAllocated && prevShape == blob_.size; + impl->netWasAllocated = impl->netWasAllocated && oldShape; } Mat Net::getBlob(String outputName)