我对 python 编程并不是很陌生,但我只是对实现基本的 retinex (Single Scale Retinex) 感到困惑。
我知道 Retinex 公式:retinex = logI(x,y) - (log(F(x,y)) * I(x,y))这是我的代码:
def singleScaleRetinex(img, sigma):
retinex = np.log10(img) - np.log10(cv2.GaussianBlur(img, (0,0), sigma))
return retinex
在运行我的单尺度输出图像代码后,就像边缘检测一样,图像几乎变暗了。我在更高的规模和更低的规模上做了,但输出相同。
你能帮我解决问题吗?
代码错了吗?
添加一些问题:
我们现在
logR(x,y) = LogI(x,y) - Log[G(x,y)*I(x,y)]
但为什么R(x,y) = LogR(x,y) ?(请解释一下)