Retinex详解

Retinex详解Retinex图像增强算法详解一、Retinex理论1)物体的颜色由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定,而不是由反射光强度的绝对值决定;2)物体的色彩不受光照非均性的影响,具有一致性;3)Retinex理论是以色感一致性为基础。如下图所示,观察者所看到的图像S(x,

大家好,欢迎来到IT知识分享网。

Retinex图像增强算法详解
一、Retinex理论
1)物体的颜色由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定,而不是由反射光强度的绝对值决定;
2)物体的色彩不受光照非均性的影响,具有一致性;
3)Retinex理论是以色感一致性为基础。
 
如下图所示,
观察者所看到的图像S(x,y)是由入射图像L(x,y)和反射图像R(x,y)构成。即入射光照射在反射物体上,通过反射物体的反射,形成反射光进入人眼,从而形成图像。其公式如下表示:
Retinex详解
\[S(x,y) = R(x,y) \bullet L(x,y)\]
  
Retinex算法的核心就是估测入射图像L(x,y),从图像S(x,y)中来估测L(x,y)分量,并去除L(x,y)分量,从而得到反射图像R(x,y)。具体操作:
1)两边同时取对数:

\[\log [R(x,y)] = \log [S(x,y)] – \log [L(x,y)]\]

2)由于L(x,y)只能近似求取,因此用S(x,y)和高斯核进行卷积来表示。所以公式如下:

\[L{\rm{og}}(R(x,y)) = (Log(S(x,y)) – Log(S(x,y) * G(x,y)))\]

其中 * 代表卷积操作,G(x,y)代表高斯核。

 3)对求取的R(x,y)映射到(0,255)之间。对于量化公式:

\[R(x,y) = (Value – Min)/(Max – Min)(255 – 0)\]

 

二、Retinex代码

import numpy as np
import cv2


def replaceZeroes(data):
    min_nonzero = min(data[np.nonzero(data)])
    data[data == 0] = min_nonzero
    return data

def SSR(src_img, size):
    L_blur = cv2.GaussianBlur(src_img, (size, size), 0)
    img = replaceZeroes(src_img)
    L_blur = replaceZeroes(L_blur)

    dst_Img = cv2.log(img/255.0)
    dst_Lblur = cv2.log(L_blur/255.0)
    dst_IxL = cv2.multiply(dst_Img,dst_Lblur)
    log_R = cv2.subtract(dst_Img, dst_IxL)

    dst_R = cv2.normalize(log_R,None,0,255,cv2.NORM_MINMAX)
    log_uint8 = cv2.convertScaleAbs(dst_R)
    return log_uint8


if __name__ == '__main__':
    img = r'E:\chengxu\CV\ls\2023.2\12345.jpg'
    size = 3
    src_img = cv2.imread(img)
    b_gray, g_gray, r_gray = cv2.split(src_img)
    b_gray = SSR(b_gray, size)
    g_gray = SSR(g_gray, size)
    r_gray = SSR(r_gray, size)
    result = cv2.merge([b_gray, g_gray, r_gray])

    cv2.imshow('img',src_img)
    cv2.imshow('result',result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

 

 

转载:(68条消息) OpenCV—Python Retinex图像增强算法_SongpingWang的博客-CSDN博客_基于路径的retinex算法

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30681.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信