Image processing 高斯拉普拉斯算子:它是如何工作的?(OpenCV)
有人知道它是如何工作的,以及如何使用OpenCV来完成吗? 可以使用OpenCV计算拉普拉斯函数, 但结果并不是我所期望的。 我的意思是,我希望图像在背景区域的对比度大致保持不变,但它是黑色的,边缘是白色的。即使经过高斯滤波,也会产生大量的噪声。 我使用高斯滤波器过滤图像,然后应用拉普拉斯。Image processing 高斯拉普拉斯算子:它是如何工作的?(OpenCV),image-processing,opencv,filtering,background-subtraction,Image Processing,Opencv,Filtering,Background Subtraction,有人知道它是如何工作的,以及如何使用OpenCV来完成吗? 可以使用OpenCV计算拉普拉斯函数, 但结果并不是我所期望的。 我的意思是,我希望图像在背景区域的对比度大致保持不变,但它是黑色的,边缘是白色的。即使经过高斯滤波,也会产生大量的噪声。 我使用高斯滤波器过滤图像,然后应用拉普拉斯。 我想我想要的是另一种方式。高斯拉普拉斯算子是一种边缘检测滤波器;恒定(“背景”)区域的输出为0,有对比度的区域为正或负。你在背景区域看到黑色的原因是因为OpenCV只是给你原始输出;您描述的图像类型(背景为
我想我想要的是另一种方式。高斯拉普拉斯算子是一种边缘检测滤波器;恒定(“背景”)区域的输出为0,有对比度的区域为正或负。你在背景区域看到黑色的原因是因为OpenCV只是给你原始输出;您描述的图像类型(背景为灰色,正/负边缘为黑色或白色)是在将输出缩放到适当范围后生成的 输出范围根据实际使用的内核而变化,但它总是适合于零附近的
(-max,+max)
范围,其中max
是过滤器内核的最大输出幅度;要获得“典型”输出图像,您需要将其缩放为(0,1)
范围(或者(0255)
如果您使用的是8位图像)
您可以使用cvScale
功能执行必要的缩放,将1/(2*max)
作为缩放因子,并将0.5
移位。(或对于8位图像,使用255/(2*max)
scale和128
shift。)