opencv / opencv_contrib

Repository for OpenCV's extra modules
Apache License 2.0
9.18k stars 5.73k forks source link

cuda sgm sgbm_gpu->setSpeckleWindowSize(200); sgbm_gpu->setSpeckleRange(1); does not work #3700

Open deepConnectionism opened 3 months ago

deepConnectionism commented 3 months ago

image

There are patches in the sky that can't be removed?

我的参数如下:

sgbm_gpu = cv::cuda::createStereoSGM(0, 128, 10, 120, 5, cv::cuda::StereoSGM::MODE_HH4);
sgbm_gpu->setMinDisparity(0);
sgbm_gpu->setNumDisparities(128); 
int blockSize = 7; //5
sgbm_gpu->setBlockSize(blockSize);
sgbm_gpu->setP1(10);
sgbm_gpu->setP2(120);
sgbm_gpu->setUniquenessRatio(5);
sgbm_gpu->setPreFilterCap(0); 
sgbm_gpu->setSpeckleWindowSize(50); 
sgbm_gpu->setSpeckleRange(1);
sgbm_gpu->setMode(cv::cuda::StereoSGM::MODE_HH4);
sgbm_gpu->setDisp12MaxDiff(1);

Is there anything wrong with my data? Looking forward to your reply.

cudawarped commented 3 months ago

Not all of the CPU function has been implemented including setSpeckleRange().