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

news/2024/12/22 13:45:41/

核心代码

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

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

所需依赖

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

代码实现

from tkinter import filedialog
from PIL import Image, ImageEnhancedef 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 += 1img_enhanced.save(fileDir+'output'+factor.__str__()+arr[len-1])
print('输出文件为:'+fileDir+'output'+factor.__str__()+arr[len-1])

应用层面的话复制上面代码直接执行即可,唠叨两句讲讲我的实现思路: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()

增强对比度

from PIL import Image, ImageEnhance# 打开图片
img = Image.open('image.png')# 增强对比度
contrast = ImageEnhance.Contrast(img)
img = contrast.enhance(1.5)# 显示图片
img.show()

http://www.ppmy.cn/news/1120601.html

相关文章

【LeetCode热题100】接雨水+无重复字符的最长子串+找到字符串中所有字母异位词

42.接雨水 思路&#xff1a; 按照列计算 每列的宽度是1 所以每列承接雨水即为雨水的高度 这一列高度通过看图计算我们可以得到hmin(lh,rh)-h[i] lh是这一列左侧最高柱子的高度&#xff0c;rh为这一列右侧最高柱子的高度 当遇到第一个和最后一个时我们不计算雨水&#xff08;装…

vuejs - - - - - 递归组件的实现

递归组件的实现 1. 需求描述&#xff1a;2. 效果图&#xff1a;3. 代码3.1 封装组件代码3.2 父组件使用 1. 需求描述&#xff1a; 点击添加行&#xff0c;增加一级目录结构当类型为object or array时&#xff0c;点击右侧➕&#xff0c;增加子集点击右侧&#x1f6ae;&#x…

火花塞工作原理

1.红旗H9轿车2023款发布 2023年元旦过后&#xff0c;红旗汽车在人民大会堂举办了红旗H9的新车发布会&#xff0c;一汽红旗全新的H9豪华轿车终于出炉了全套的配置参数&#xff0c;红旗H9的车身长度达到5137mm&#xff0c;宽度1904mm&#xff0c;轴距3060mm&#xff0c;总高则控…

windows 部署 mindspore GPU 开发环境

基础环境 windows 环境&#xff1a; Windows 11 版本&#xff1a;22H2操作系统版本&#xff1a;22621.2283 wsl2&#xff1a; 1.2.5.0 Docker Desktop&#xff1a; Docker Desktop 4.23.0 CUDA driver for WSL 版本&#xff1a; 535.104.07 宿主机上的 nvidia 环境如下所示&a…

Git创建干净分支,本地操作不依赖任何分支

clone远程项目: git clone gittest.git查看分支: git branch -a创建新分支: git checkout --orphan test, 返回Switched to a new branch test删除当前项目文件夹下所有文件: git rm -rf .提交变更: git commit -m "new branch for test"查看分支: git branch -a, 发…

C语言实现循环双链表

在C语言中&#xff0c;实现一个循环双链表需要定义一个节点结构体&#xff0c;这个结构体包含三个字段&#xff1a;数据字段&#xff0c;指向前一个节点的指针&#xff0c;以及指向下一个节点的指针。定义节点结构体&#xff1a; 1)定义节点结构体&#xff1a; typedef struc…

电脑桌面透明便签软件是哪个?

在现代快节奏的工作环境中&#xff0c;许多上班族都希望能够在电脑桌面上方便地记录工作资料、重要事项、工作流程等内容。为了解决这个问题&#xff0c;一款优秀的电脑桌面便签软件是必不可少的。在选择桌面便签软件时&#xff0c;许多用户也希望便签软件能够与电脑桌面壁纸相…

蓝桥杯每日一题2023.9.22

4960. 子串简写 - AcWing题库 题目描述 题目分析 原本为纯暴力但是发现会超时&#xff0c;可以加入前缀和&#xff0c;从前往后先记录一下每个位置c1出现的次数 再从前往后扫一遍&#xff0c;如果遇到c2就将答案加上此位置前的所有c1的个数&#xff08;直接加上此位置的前缀…