上图是一个检测迷宫的例子,在这个例子中我发现了一个问题,即同时使用 GaussianBlur、threshold 和仅使用 threadhold 之间存在很大差异。例如,
cvtColor(img,img,CV_RGB2GRAY);
threshold(img,img,10,255,CV_THRESH_BINARY);
它作为原始图像工作。但是如果在阈值参数设置为 10 的阈值之前应用 gaussianblur,则整个结果图像是白色的。
cvtColor(img,img,CV_RGB2GRAY);
GaussianBlur(img,img,Size(3,3),0);
threshold(img,img,10,255,CV_THRESH_BINARY);
它只在我将阈值参数增加到 100 之前有效,
GaussianBlur(img,img,Size(3,3),0);
threshold(img,img,100,255,CV_THRESH_BINARY);
为什么仅仅因为 GaussianBlur 就存在巨大差异,你能帮我解释一下吗?