当前位置: 首页 > news >正文

Python 自动化之处理图片(一)

图片美化与大小调整


文章目录

  • 图片美化与大小调整
  • 前言
  • 一、基本结构
  • 二、引入库
  • 三、用户输入模块
  • 四、图片美化模块
  • 五、大小调整模块
  • 总结


前言

本文主要分为两部分。一是图片的美化吧算是,主要从亮度、对比、色彩饱和度、锐度四个方面进行美化;二是图片的像素大小的调整,大家可以用这个来做一二三等寸的照片。


一、基本结构

代码编写一共分为三部分:

  • 库模块
  • 用户输入模块
  • 图片美化模块
  • 大小调整模块

二、引入库

代码如下:

from PIL import Image, ImageEnhance

很简单,引入一下有关图像的库就行。


三、用户输入模块

整体代码如下:

print(r'请输入文件完整路径(例子:E:\BaiduDownload\你好.png):', end='')
file_path = input()
print(r'请输入模式 1 美化  2 调整大小:', end='')
choice = input()
print(r'请输入新文件保存路径(例子:E:\BaiduDownload):', end='')
file_new_path = input()
if choice == '1':
..................
elif choice == '2':
..................

此处需要用户输入文件的地址、选择模式、新文件保存地址。


四、图片美化模块

整体代码如下:

if choice == '1':print(r'请输入数字(float类型)来进行美化亮度:', end='')bright = float(input())print(r'请输入数字(float类型)来进行美化对比度:', end='')contrast = float(input())print(r'请输入数字(float类型)来进行美化色彩饱和度:', end='')color = float(input())print(r'请输入数字(float类型)来进行美化锐化度:', end='')sharp = float(input())# 打开文件img = Image.open(file_path)# 调整图片的亮度img_bright = ImageEnhance.Brightness(img).enhance(bright)# 调整图片的对比度img_contrast = ImageEnhance.Contrast(img_bright).enhance(contrast)# 调整图片的色彩饱和度img_color = ImageEnhance.Color(img_contrast).enhance(color)# 调整图片的锐度img_sharp = ImageEnhance.Sharpness(img_color).enhance(sharp)# 获取用户输入的文件名,不包括路径file_path_name = file_path.split('\\')[-1]  # 使用 \\ 分隔符file_base_name = file_path_name.split('.')[0]  # 去掉扩展名# 指定保存 .png 文件的完整路径和名称output_file_name = f"{file_base_name}_美化.png"output_path = file_new_path + '\\' + output_file_nameimg_sharp.save(output_path)

一共分为三部分:

  • 首先,提示用户输入照片的四要素(亮度、对比度、色彩饱和度、锐化度)。
  • 其次,程序会根据用户的输入进行照片的处理。
  • 最后,把处理好的照片保存。

五、大小调整模块

整体代码如下:

elif choice == '2':print(r'请输入图片的宽度(像素):', end='')width = int(input())print(r'请输入图片的高度(像素):', end='')height = int(input())# 打开文件img = Image.open(file_path)    # 调整图片大小 新的宽高值new_size = (width, height)resized_img = img.resize(new_size, Image.BILINEAR)# 获取用户输入的文件名,不包括路径file_path_name = file_path.split('\\')[-1]  # 使用 \\ 分隔符file_base_name = file_path_name.split('.')[0]  # 去掉扩展名# 指定保存 .png 文件的完整路径和名称output_file_name = f"{file_base_name}_大小.png"output_path = file_new_path + '\\' + output_file_nameresized_img.save(output_path)

一共分为三部分:

  • 首先,提示用户输入照片的宽度和高度的像素。
  • 其次,程序会根据用户的输入进行照片的处理。
  • 最后,把处理好的照片保存。

总结

我试了几次,感觉还是用PS比较舒服。。哈哈哈哈哈哈哈哈哈。这个也就图一乐啦,玩玩就行。

http://www.lryc.cn/news/262452.html

相关文章:

  • Axure动态面板的应用与ERP系统登录界面、主页左侧菜单栏、公告栏的绘制
  • 电机(按工作电源分类)介绍
  • Web前端JS通过使用AudioWorkletNode() 获取 Video/Audio 视音频声道(左右声道|多声道)
  • 力扣LeetCode75题
  • 如何向领导汇报工作?一篇文章告诉你!
  • GPT-4.5!!!
  • kafka入门(四):kafka生产者发送消息
  • redis集群模糊获取缓存redisKey
  • 100GPTS计划-AI翻译TransLingoPro
  • Linux install manual 1Panel
  • 母婴服务品牌网站的效果如何
  • C语言--有一个3*4的矩阵,求出其中最大值的那个元素的值,以及其所在的行号和列号
  • 安全算法(二):共享密钥加密、公开密钥加密、混合加密和迪菲-赫尔曼密钥交换
  • MYSQL练题笔记-高级字符串函数 / 正则表达式 / 子句-简单3题
  • vue扭蛋机抽奖游戏
  • 代码随想录27期|Python|Day16|二叉树|104.二叉树的最大深度|111.二叉树的最小深度|222.完全二叉树的节点个数
  • ༺༽༾ཊ—设计-简介-模式—ཏ༿༼༻
  • Matplotlib快速入门,Python通用的绘图工具库上手
  • Linux 基本语句_16_Udp网络聊天室
  • 使用ffmpeg命令进行视频格式转换
  • Mac安装Adobe AE/pr/LR/ai/ps/au/dw/id 2024/2023报错问题解决(常见错误:已损坏/2700/146/130/127)
  • Python三级 每周练习题31
  • 【DataSophon】大数据服务组件之Flink升级
  • Android笔记(十八):面向Compose组件结合Retrofit2和Rxjava3实现网络访问
  • mybatis中oracle的sql没走索引导致特别慢(未加jdbcType的)
  • QT自带打包问题:无法定位程序输入点?metaobject@qsound
  • 7.3 lambda函数
  • dcoker-compose一键部署EFAK —— 筑梦之路
  • 音视频:Ubuntu下安装 FFmpeg 5.0.X
  • 【LSM tree 】Log-structured merge-tree 一种分层、有序、面向磁盘的数据结构