• 三行代码实现图像画质修复,图片清晰度修复,清晰度提升python


    核心代码

    # 原始文件
    enhancer = ImageEnhance.Sharpness(Image.open('文件路径.png'))
    # 增强图片
    img_enhanced = enhancer.enhance(增强系数float)
    # 输出目标文件
    img_enhanced.save('文件名.png')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    注意,输入输出文件格式必须一致

    所需依赖

    # 文件选择框,可以直接输相对路径不引入这个
    from tkinter import filedialog
    # 增强
    from PIL import Image, ImageEnhance
    
    • 1
    • 2
    • 3
    • 4

    代码实现

    from tkinter import filedialog
    from PIL import Image, ImageEnhance
    
    
    def open_file_dialog():
        file_path = filedialog.askopenfilename()
        # 在这里添加代码,处理文件路径
        print("选择的文件路径:", file_path)
        return file_path
    
    
    # 打开原图像
    # img = Image.open('image.png')
    filePath = open_file_dialog()
    img = Image.open(filePath)
    # 设置增强因子
    factor = float(input('请输入增强系数(1.0~99.9):'))
    
    enhancer = ImageEnhance.Sharpness(img)
    
    # 增强图片
    img_enhanced = enhancer.enhance(factor)
    
    # 保存增强后的图像
    arr = filePath.split('/')
    i=0
    fileDir=''
    len = len(arr)
    while i < len-1:
        fileDir += arr[i]+'/'
        i += 1
    
    img_enhanced.save(fileDir+'output'+factor.__str__()+arr[len-1])
    print('输出文件为:'+fileDir+'output'+factor.__str__()+arr[len-1])
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    应用层面的话复制上面代码直接执行即可,唠叨两句讲讲我的实现思路:open_file_dialog()函数使用 tkinter 实现文件获取拿到文件名,用于识别需要修复的image;然后使用 PIL 的增强功能生成好画质修复后的图片;路径拼接确定输出路径和文件名为原路径下的output+原文件名,下面附上PIL的另外两个基础功能,如果有提升锐度和对比度的需求也可以自行改写相关代码:

    增强锐度

    from PIL import Image, ImageEnhance
    
    # 打开图片
    img = Image.open('image.png')
    
    # 增强锐度
    sharpness = ImageEnhance.Sharpness(img)
    img = sharpness.enhance(1.5)
    
    # 显示图片
    img.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    增强对比度

    from PIL import Image, ImageEnhance
    
    # 打开图片
    img = Image.open('image.png')
    
    # 增强对比度
    contrast = ImageEnhance.Contrast(img)
    img = contrast.enhance(1.5)
    
    # 显示图片
    img.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    Covalent Network(CQT)构建 Web3 最大的结构化数据集,开拓AI、安全性和数据质量的融合
    ISIS基础知识
    代码随想录 动态规划Ⅸ
    27_Scala功能函数
    【Linux】gcc/g++ && gdb 使用
    Fedora Linux上使用Homebrew包管理器dnf异同
    18C++之引用
    演讲笔记|《一个ppt者的成长故事》
    K8S:K8S自动化运维容器Docker集群
    微信小程序按钮点击时的样式hover-class=“hover“
  • 原文地址:https://blog.csdn.net/weixin_45952509/article/details/133174379