python 对图片进行操作

Pillow是一个强大的图像处理库,它提供了许多用于打开、操作和保存图像的功能。
Image模块:
Image模块提供了用于打开、创建、编辑和保存图像的基本功能。可以使用Image.open()函数来打开图像文件,或者使用Image.new()函数来创建新的图像,还可以对图像进行各种操作,如缩放、裁剪、旋转、调整亮度、对比度等。
ImageDraw模块:
ImageDraw模块提供了一组用于在图像上绘制图形和文本的函数,可以使用ImageDraw对象来绘制线条、矩形、椭圆、多边形,甚至文本。这对于在图像上添加注释、标记或创建自定义图形非常有用。

示例一:获取图片中某个坐标的位置并在图片上画一个长宽5px的方形。
代码实现

from PIL import Image, ImageDraw# 打开图片并确保它在RGB模式下
image_path = 'C:/Users/admin/Desktop/1.png'  # 替换为你的图片路径
image = Image.open(image_path).convert('RGB')# 设定要绘制正方形的起始位置 (x, y)
x, y = 214, 108  # 替换为你想要绘制正方形的起始像素位置# 正方形的边长
side_length = 5# 创建一个可以在图像上绘制的对象
draw = ImageDraw.Draw(image)# 计算正方形的四个角点的坐标
top_left = (x, y)
top_right = (x + side_length, y)
bottom_right = (x + side_length, y + side_length)
bottom_left = (x, y + side_length)# 使用矩形方法绘制正方形(实际上是一个矩形,但边长相等所以看起来是正方形)
# fill参数设置为红色 (255, 0, 0)
draw.rectangle([top_left, bottom_right], fill=(255, 0, 0))
# 保存修改后的图片
new_image_path = 'modified_image.jpg'  # 替换为你想要保存的图片路径
image.save(new_image_path)

原图片:
在这里插入图片描述
效果图:
在这里插入图片描述
示例二:对图片进行裁剪
实现代码:

# 打开图片并确保它在RGB模式下
image_path = 'C:/Users/admin/Desktop/1.png'  # 替换为你的图片路径
image = Image.open(image_path).convert('RGB')# 从图片的下半部分裁剪40px
crop_height = 40  # 裁剪的高度
height = image.height
new_height = height - crop_height  # 新的高度# 裁剪图片
cropped_image = image.crop((0, 0, image.width, new_height))# 保存修改后的图片
new_image_path = 'modified_image_cropped.jpg'  # 替换为你想要保存的图片路径
cropped_image.save(new_image_path)
image = Image.open(new_image_path).convert('RGB')

原图片:
在这里插入图片描述
效果图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/641921.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DSP系统的设计过程与选型

DSP的设计步骤分几个阶段,应用系统的设计过程如图所示。 技术指标的确定 器件的选型原则 其他因素的考虑

css再学习

id选择器的id仅能使用一次; 可去除也可添加加粗效果; font 行高为数字n时(不添加单位)是浏览器默认font-size的n倍; 行高实现文字垂直居中(仅适应于单行文字):将line-height设置…

思科警告:全球出现大规模针对 VPN 服务的暴力破解攻击事件

近日,全球范围内出现了大量针对思科、CheckPoint、Fortinet、SonicWall 和 Ubiquiti 设备的 VPN 和 SSH 服务的大规模凭据暴力破解活动。 原文地址:https://mp.weixin.qq.com/s/UoMgC8Bp6OMJiXgeU3XbyA 暴力攻击是指使用许多用户名和密码尝试登录帐户或…

科研基础与工具(论文写作)

免责申明: 本文内容只是学习笔记,不代表个人观点,希望各位看官自行甄别 参考文献 科研基础与工具(YouTube) 学术写作句型 Academic Phrase bank 曼彻斯特大学维护的一个网站 写论文的时候,不不知道怎么…

【C语言】数据的存储_数据类型:浮点型存储

常见的浮点数: 3.1415926 1E10 浮点型包括:float、double、long double类型 浮点数表示的范围:float.h中定义 浮点数存储规则: 第二个n和*pFloat在内存中明明是同一个数,但浮点数和整数解读结果差别很大。 要理解这…

【热门话题】常用经典目标检测算法概述

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 常用经典目标检测算法概述1. 滑动窗口与特征提取2. Region-based方法R-CNN系列M…

SOTAX溶出测试系统PC触摸屏维修三部曲

SOTAX溶出测试系统作为一款广泛应用于制药行业的知名品牌,具有高精度、操作简便、稳定性好等特点。它适用于各种类型的药品研发和生产环节,为科研人员提供可靠的数据支持。瑞士SOTAX溶出仪是实验室中常用的设备,其触摸屏是用户交互的重要界面…

apache和IIS区别?内网本地服务器项目怎么让外网访问?

Apache和IIS是比较常用的搭建服务器的中间件,它们之间还是有一些区别差异的,下面就详细说说 Apache和IIS有哪些区别,以及如何利用快解析实现内网主机应用让外网访问。 首先说说apache和IIS最基本的区别。Apache运行的操作系统通常为Unix或Lin…

05_Qt资源文件添加

Qt资源文件添加 Qt 资源系统是一个跨平台的资源机制,用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。如果你的程序需要加载特定的资源(图标、文本翻译等),那么,将其放置在资源文件中,就…

RuoYi-Vue-Plus (SaToken 注解鉴权)

一、SaInterceptor 注解鉴权和路由拦截鉴权 拦截器:SaInterceptor 实现类位置: cn.dev33.satoken.interceptor.SaInterceptor 功能:Sa-Token 综合拦截器,提供注解鉴权和路由拦截鉴权能力 /*** 创建一个 Sa-Token 综合拦截器&…

c++ 二分查找

二分查找(Binary Search)是一种在有序数组中查找特定元素的高效算法。它通过不断将搜索范围减半来查找目标元素。其时间复杂度为 O(log n),这是因为每一步都将搜索范围减半,因此算法的性能非常高。 二分查找的基本思想是&#xf…

用户中心 -- 插件使用 插件使用思路

易错注意点 1 5.1启动类 & 入口类 需保持一致 网址: 第一节课,用户管理--后端初始化,项目调通。二次翻工2-CSDN博客 一、 用户管理 框架 网址: 用户管理 --汇总 -- 明细-CSDN博客 1.2 更改路径,并生效 网址…