tom39016293 2023-07-04 18:22 采纳率: 54.5%
浏览 76
已结题

Retinex算法在低可见度照片的应用

本人目前在学习大数据算法,在应用Retinex算法遇到很多问题,希望找到一个Retinex算法的完整版代码,通过算法实现暗光下照片增强,让照片从模糊到清晰

  • 写回答

8条回答 默认 最新

  • CodeBytes 2023-07-04 21:59
    关注

    该回答引用ChatGPT GPT-4

    运行结果

    img

    代码如下

    import cv2
    import numpy as np
    
    def single_scale_retinex(img, sigma):
        retinex = np.log10(img) - np.log10(cv2.GaussianBlur(img, (0, 0), sigma))
        return retinex
    
    def multi_scale_retinex(img, sigma_list):
        retinex = np.zeros_like(img)
        for sigma in sigma_list:
            retinex += single_scale_retinex(img, sigma)
        retinex = retinex / len(sigma_list)
        return retinex
    
    def color_restoration(img, alpha, beta):
        img_sum = np.sum(img, axis=2, keepdims=True)
        color_restoration = beta * (np.log10(alpha * img) - np.log10(img_sum))
        return color_restoration
    
    def retinex_process(img, sigma_list, G, b, alpha, beta):
        img = np.float64(img) + 1.0
        img_retinex = multi_scale_retinex(img, sigma_list)
        img_color = color_restoration(img, alpha, beta)
        img_retinex = G * (img_retinex * img_color + b)
    
        for i in range(img_retinex.shape[2]):
            img_retinex[:, :, i] = np.clip(img_retinex[:, :, i], 0, 255)
        img_retinex = np.uint8(img_retinex)
    
        return img_retinex
    
    def main():
        img = cv2.imread('1.jpg')
    
        sigma_list = [15, 80, 250]
        G = 5.0
        b = 25.0
        alpha = 125.0
        beta = 46.0
    
        img_retinex = retinex_process(img, sigma_list, G, b, alpha, beta)
    
        cv2.imshow('1', img)
        cv2.imshow('Retinex', img_retinex)
        cv2.waitKey(0)
    
    if __name__ == "__main__":
        main()
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 7月13日
  • 已采纳回答 7月5日
  • 创建了问题 7月4日

悬赏问题

  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆