max*_*mus 12 opencv filtering image-processing background-subtraction
有人知道它是如何工作的以及如何使用OpenCV来做到这一点?拉普拉斯算子可以使用OpenCV计算,但结果不是我所期望的.我的意思是我希望图像在背景区域具有近似恒定的对比度,但它是黑色的,边缘是白色的.即使经过高斯滤波器,也会产生很多噪音.我使用高斯滤波器过滤图像然后应用拉普拉斯.我认为我想要的是以不同的方式完成的.
tza*_*man 17
高斯拉普拉斯算子是边缘检测滤波器; 常量('背景')区域的输出为0,对比区域的输出为正或负.您在背景区域看到黑色的原因是因为OpenCV只是为您提供原始输出; 在将输出缩放到适当的范围之后,会产生您描述的图像类型(背景为灰色,正/负边缘为黑色或白色).
输出范围取决于所使用的实际内核,但它总是适合在(-max, +max)
零附近的范围内,其中max
滤波器内核的最大输出幅度; 要获得"典型"输出图像,您需要将其缩放到一个(0, 1)
范围内(或者(0, 255)
如果您使用的是8位图像).
您可以使用该cvScale
功能执行必要的缩放,并1/(2*max)
使用缩放系数和0.5
移位.(或者对于8位图像使用255/(2*max)
比例和128
移位.)