【python】提高图像质量
目录
- 概述
- 百度智能云
- PIL实现
- opencv实现
概述
调研了一些提高图像质量的方式
- 深度学习方法,如微软的
Bringing-Old-Photos-Back-to-Life
的模型等。存在一些问题,首先是使用深度学习方法没有刚好的模型,得在自己的数据集上微调,比较麻烦,其次是带来的推理时间开销会比较大,不是特别划算,毕竟只是一个小环节。 - 商用API,发现
百度智能云
提供了很多这方面的API,调用相当方便,但是免费次数有限啊。 - 基于python自带的
PIL
实现图片亮度增强、饱和度增强、对比度增强以及锐度增强。 - 基于
opencv
实现数字图像处理!!!
百度智能云
官方教程:链接
参考代码(方便的一塌糊涂):
from aip import AipImageProcess
import base64
import osAPP_ID = ''
API_KEY = ''
SECRET_KEY = ''client = AipImageProcess(APP_ID, API_KEY, SECRET_KEY)""" 读取图片 """
def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()def get_all_file(path):all_file=[]for i in os.listdir(path):file_name=os.path.join(path,i)all_file.append(file_name)return all_filefor img_path in get_all_file('img'):image = get_file_content(img_path)""" 调用图像清晰度增强 """if not os.path.exists('output'):os.mkdir('output')response = client.imageDefinitionEnhance(image)imgdata = base64.b64decode(response['image'])file = open(os.path.join('output', img_path.split('\\')[-1]), 'wb')file.write(imgdata)file.close()
PIL实现
from PIL import Image
from PIL import ImageEnhance
import numpy as np
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['FangSong'] # 设置字体以便正确显示汉字
plt.rcParams['axes.unicode_minus'] = False # 正确显示连字符# 原图
image = Image.open('img/timg.jpg')
# 亮度增强
enh_bri = ImageEnhance.Brightness(image)
brightness = 2
image_brightened = enh_bri.enhance(brightness)
# 色度增强(饱和度↑)
enh_col = ImageEnhance.Color(image)
color = 2
image_colored = enh_col.enhance(color)
# 对比度增强
enh_con = ImageEnhance.Contrast(image)
contrast = 2
image_contrasted = enh_con.enhance(contrast)
# 锐度增强
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 4.0
image_sharped = enh_sha.enhance(sharpness)fig,axes=plt.subplots(nrows=2,ncols=3,figsize=(10,8),dpi=100)
axes[0,0].imshow(np.array(image, dtype=np.uint8)[:,:,::-1])
axes[0,0].set_title("原图")
axes[0,1].imshow(np.array(image_brightened, dtype=np.uint8)[:,:,::-1])
axes[0,1].set_title("亮度增强")
axes[0,2].imshow(np.array(image_colored, dtype=np.uint8)[:,:,::-1])
axes[0,2].set_title("饱和度增强")
axes[1,0].imshow(np.array(image_contrasted, dtype=np.uint8)[:,:,::-1])
axes[1,0].set_title("对比度增强")
axes[1,1].imshow(np.array(image_sharped, dtype=np.uint8)[:,:,::-1])
axes[1,1].set_title("锐度增强")
axes[1,2].imshow(np.array(image_sharped, dtype=np.uint8)[:,:,::-1])
axes[1,2].set_title("锐度增强")
plt.show()
opencv实现
链接
【python】提高图像质量相关推荐
- 文档拍摄技巧之拍照与如何提高图像质量
ABBYY是一款功能强大的PDF编辑转换器,有时候,扫描并不是获取图像文档的唯一方法.在不具备扫描设备的情况下,FineReader同样可以识别用相机或手机拍摄的文档照片.但是如何能让拍摄的照片更易于 ...
- excel和python建模_如何用Python提高办公(Excel)效率?
1 T: G2 ^3 U. x0 ?. W* A: `如何用Python提高办公(Excel)效率? ; m+ Z; f& U4 H' I这几天在家里利用网络视频教程学习了一下简单的Pytho ...
- python提高效率(优化)的心得总结
转载自:python提高效率(优化)的心得总结 作者:Capricorn.python 用python也有小两年了,不是开发,所以代码应该没那么精湛.但是经常会写测试脚本和小工具.在积累了大量的库以后 ...
- python提高办公效率-几个可以提高工作效率的Python内置小工具
在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具.这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略.每当有新来的同事看到我这么使用时,都忍不住感叹, ...
- python提高办公效率-【纯干货】提高Python运行效率的小窍门
Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作.不仅如此,它还轻松支持多任务处理,比如多进程. 不喜欢Python的人经常会吐嘈Python运行太慢.但是,事实并非如此 ...
- python提高办公效率-提高工作效率的一点建议
程序员加班几乎是常态,你是不是每天都在加班?是不是觉得每天时间不够用?如果你的回答是 yes 的话,那么可能跟你的工作效率有关系. 工作效率是指你在单位时间内的产出成果,要提高工作效率,要么在固定时间 ...
- python提高办公效率-提升Python程序运行效率的6个方法
Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情.不仅如此,它还能轻松地支持多任务,比如多进程等.Python批评者有时会说Python执行缓慢.本文将尝试介绍6个技巧, ...
- python 提高文件查询效率_Python 大量小文件存储提高效率的简单示例
这篇文章主要为大家详细介绍了Python 大量小文件存储提高效率的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧 ...
- python提高运行效率_提高 Python 运行效率的六个窍门
窍门一:关键代码使用外部功能包 Python简化了许多编程任务,但是对于一些时间敏感的任务,它的表现经常不尽人意.使用C/C++或机器语言的外部功能包处理时间敏感任务,可以有效提高应用的运行效率.这些 ...
最新文章
- SpringOne 2017第二日:Juergen Hoeller的演讲
- C++中数组访问操作符的重载
- 中国碳纤维风电叶片行业“十四五”发展规划及投资可行性分析报告2022-2028年版
- 安卓2.2刷机包_老用户福音 努比亚为红魔电竞手机和Z17用户更新安卓9.0
- OpenGL blending sort 混合排序(前后)的实例
- 「SVN」ubuntu svn自动忽略了.a.so等文件
- RabbitMQ消息手动应答消费者
- 疯子的算法总结11--次小生成树+严格次小生成树
- 音频播放时,将前台服务和通知栏关闭
- python视频处理加速的库_VPF:适用于 Python 的开源视频处理框架,加速视频任务、提高 GPU 利用率...
- zookeeper 大量连接断开重连原因排查
- matlab中生成瑞利信道的两种方法
- Computer Hardware ID(CHID)及驱动推送
- 工作室流量卡如何做才能不封号?
- Pytorch 操作整理
- Python数据存取详解
- SEM和SD的区别和联系,以及其计算方法(实际作图方法)
- AE - Saber插件(简单使用方法)
- 【OBS Studio】脚本自动生成大量场景思考实践
- matplotlib之pyplot模块——饼图(pie():圆环图(donut)、二层圆环图、三层圆环图(旭日图))
热门文章
- 想见识一下超级高铁?VR带你来体验
- Nuist集训队专题:数论
- matlab中sps,Matlab/Simulink的SPS模块在电力系统输电线路中的应用
- 小学有计算机课程吗,小学计算机是不是就是信息技术啊
- 【报告分享】2020美好城市指数:短视频与城市繁荣关系白皮书(附下载)
- java集合 测试对TreeSet的使用
- (reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag 1, class-id=60, method-id=80)
- 杭州计算机学校毕业文凭,杭州计算机学校的核心专业--年薪几十万的专业
- Vue人资中台--公司的员工管理(数据处理)
- 魔戒 4维bfs搜索