目录

  • 概述
  • 百度智能云
  • PIL实现
  • opencv实现

概述

调研了一些提高图像质量的方式

  1. 深度学习方法,如微软的Bringing-Old-Photos-Back-to-Life的模型等。存在一些问题,首先是使用深度学习方法没有刚好的模型,得在自己的数据集上微调,比较麻烦,其次是带来的推理时间开销会比较大,不是特别划算,毕竟只是一个小环节。
  2. 商用API,发现百度智能云提供了很多这方面的API,调用相当方便,但是免费次数有限啊。
  3. 基于python自带的PIL 实现图片亮度增强、饱和度增强、对比度增强以及锐度增强。
  4. 基于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】提高图像质量相关推荐

  1. 文档拍摄技巧之拍照与如何提高图像质量

    ABBYY是一款功能强大的PDF编辑转换器,有时候,扫描并不是获取图像文档的唯一方法.在不具备扫描设备的情况下,FineReader同样可以识别用相机或手机拍摄的文档照片.但是如何能让拍摄的照片更易于 ...

  2. excel和python建模_如何用Python提高办公(Excel)效率?

    1 T: G2 ^3 U. x0 ?. W* A: `如何用Python提高办公(Excel)效率? ; m+ Z; f& U4 H' I这几天在家里利用网络视频教程学习了一下简单的Pytho ...

  3. python提高效率(优化)的心得总结

    转载自:python提高效率(优化)的心得总结 作者:Capricorn.python 用python也有小两年了,不是开发,所以代码应该没那么精湛.但是经常会写测试脚本和小工具.在积累了大量的库以后 ...

  4. python提高办公效率-几个可以提高工作效率的Python内置小工具

    在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具.这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略.每当有新来的同事看到我这么使用时,都忍不住感叹, ...

  5. python提高办公效率-【纯干货】提高Python运行效率的小窍门

    Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作.不仅如此,它还轻松支持多任务处理,比如多进程. 不喜欢Python的人经常会吐嘈Python运行太慢.但是,事实并非如此 ...

  6. python提高办公效率-提高工作效率的一点建议

    程序员加班几乎是常态,你是不是每天都在加班?是不是觉得每天时间不够用?如果你的回答是 yes 的话,那么可能跟你的工作效率有关系. 工作效率是指你在单位时间内的产出成果,要提高工作效率,要么在固定时间 ...

  7. python提高办公效率-提升Python程序运行效率的6个方法

    Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情.不仅如此,它还能轻松地支持多任务,比如多进程等.Python批评者有时会说Python执行缓慢.本文将尝试介绍6个技巧, ...

  8. python 提高文件查询效率_Python 大量小文件存储提高效率的简单示例

    这篇文章主要为大家详细介绍了Python 大量小文件存储提高效率的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧 ...

  9. python提高运行效率_提高 Python 运行效率的六个窍门

    窍门一:关键代码使用外部功能包 Python简化了许多编程任务,但是对于一些时间敏感的任务,它的表现经常不尽人意.使用C/C++或机器语言的外部功能包处理时间敏感任务,可以有效提高应用的运行效率.这些 ...

最新文章

  1. SpringOne 2017第二日:Juergen Hoeller的演讲
  2. C++中数组访问操作符的重载
  3. 中国碳纤维风电叶片行业“十四五”发展规划及投资可行性分析报告2022-2028年版
  4. 安卓2.2刷机包_老用户福音 努比亚为红魔电竞手机和Z17用户更新安卓9.0
  5. OpenGL blending sort 混合排序(前后)的实例
  6. 「SVN」ubuntu svn自动忽略了.a.so等文件
  7. RabbitMQ消息手动应答消费者
  8. 疯子的算法总结11--次小生成树+严格次小生成树
  9. 音频播放时,将前台服务和通知栏关闭
  10. python视频处理加速的库_VPF:适用于 Python 的开源视频处理框架,加速视频任务、提高 GPU 利用率...
  11. zookeeper 大量连接断开重连原因排查
  12. matlab中生成瑞利信道的两种方法
  13. Computer Hardware ID(CHID)及驱动推送
  14. 工作室流量卡如何做才能不封号?
  15. Pytorch 操作整理
  16. Python数据存取详解
  17. SEM和SD的区别和联系,以及其计算方法(实际作图方法)
  18. AE - Saber插件(简单使用方法)
  19. 【OBS Studio】脚本自动生成大量场景思考实践
  20. matplotlib之pyplot模块——饼图(pie():圆环图(donut)、二层圆环图、三层圆环图(旭日图))

热门文章

  1. 想见识一下超级高铁?VR带你来体验
  2. Nuist集训队专题:数论
  3. matlab中sps,Matlab/Simulink的SPS模块在电力系统输电线路中的应用
  4. 小学有计算机课程吗,小学计算机是不是就是信息技术啊
  5. 【报告分享】2020美好城市指数:短视频与城市繁荣关系白皮书(附下载)
  6. java集合 测试对TreeSet的使用
  7. (reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag 1, class-id=60, method-id=80)
  8. 杭州计算机学校毕业文凭,杭州计算机学校的核心专业--年薪几十万的专业
  9. Vue人资中台--公司的员工管理(数据处理)
  10. 魔戒 4维bfs搜索