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')

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于 Win32 编程,使用 C语言开发一个记事本。

现在 Win32 非常少见,因为太原始了,同时也因为高级语言做应用开发速度更快。但是用 C 语言开发一个 win32 记事本对于理解应用程序运行的内部原理还是很有帮助的,“最基础的就是最有用的”,Windows 编程圣经 《Windows 程序设计》…

YOLO8实战:行人跌倒检测系统

yolo8行人跌倒检测系统 前言 随着科技的不断进步,人工智能和深度学习技术已广泛应用于各行各业,尤其是在人身安全检测方面。传统的跌倒检测方法依赖于人工观察,但这种方法不仅耗时耗力,而且容易因人为因素导致误判或漏判。因此&a…

【RSGIS数据资源】2018年北京森林站东灵山样地无人机遥感生态数据集

文章目录 一、数据集基本信息二、数据结构和内容三、 数据集质量控制(一) 产生方式(二) 数据源说明(三) 数据采集、加工处理方法 四、 数据使用 一、数据集基本信息 说明数据集基本描述信息,包…

在Milk-v Duo上部署YOLOV8模型

建议自己编译images固件,我使用官方给的固件在部署中出现了一些问题,请参考: 编译Milkv-duo固件-CSDN博客 下载YOLOv8 git clone https://github.com/ultralytics/ultralytics.git 下载yolo_export.zip 下载链接:链接:百度网盘…

Linux加强篇-Vim编辑器

目录 ⛳️推荐 Vim文本编辑器 编写简单文档 配置主机名称 配置网卡信息 配置软件仓库 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 Vim文本编辑器 在Linux系统中一切都…

使用FPGA实现除法器

介绍 除法都已经很熟悉了。这里我主要是使用fpga来实现一下除法器的功能。我这里使用的算法是,首先将除数进行左移n位,如果被除数比左移后的除数还要大,说明商的第n位是1,大家可以理解或者验证一下。 设计文件 library ieee; us…

Linux KASAN使用与实现原理

一、KASAN工具使用 KASAN工具:Kernel Address SANitizer(KASAN)是一种动态内存安全错误检测工具,主要功能是检查内存越界访问和使用已释放内存的问题。 1.1 KASAN宏控开关 KASAN有三种模式:1.通用KASAN;2.基于软件标签的KASAN&…

Apple II首席设计师为中国家庭设计,鹿客指脉锁S6 Max引领科技美学

智能门锁设计正在步入一个科技与艺术交织的美学时代。鹿客科技认为,智能门锁的设计理念是将锁视为人类与仿生形状之间的接口,将门视为几何建筑的一部分,产品设计应该通过提供诱人且用户友好的“触摸和感觉”来传达这种转变。 鹿客近日发布的最…

clickhouse学习笔记04

ClickHouse高可用之ReplicatedMergeTree引擎介绍 ClickHouse高可用架构准备-环境说明和ZK搭建 RPM安装ClickHouse 上传我们的clickhouse rpm文件。 安装: 中途需要输入用户名和密码 可以不设置 直接回车。 启动: 查看状态: 查看端口是否占用…

嵌入式s5p5818核心板介绍

底板寻址空间介绍 s5p6818 寻址空间采用统一编址方式进行管理 寻址空间映射图: 独立寻址:片内片外存储器只能选择其中一个 统一寻址:片内片外存储器都能使用,且使用的是同一片连续的寻址空间 reserved保留,Normaol …

晶振在PCB设计中,要注意哪些事项?

晶振(Crystal Oscillator)在PCB(Printed Circuit Board,印刷电路板)设计中扮演着至关重要的角色,因为它提供了稳定的时钟信号,这是许多电子设备正常运行的基础。在设计含有晶振的PCB时,应该注意以下几个关键事项: 1. …

实用电路图轻松掌握,一通百通 | 百能云芯

通过以下各种各样的实用电路,大家可以了解元器件的结构、特性、动作原理及电路的基本控制方式,掌握一些控制规律,这样的话,在日后的电路识图中就能融会贯通,一通百通。 文章中的电路图有难有易,有些图现在…

2024066期传足14场胜负前瞻

2024066期售止时间为4月24日(周三)17点30分,敬请留意: 本期1.5以下赔率5场,1.5-2.0赔率3场,其他场次是平半盘、平盘。本期14场难度中等。以下为基础盘前瞻,大家可根据自身判断,复选增…

想冲宇宙厂,直接挂了。。。

宇宙厂实际是字节,这个称呼是因为字节跳动主宰了宇宙内一切App,有点家大业大的意思。 今天分享一位字节春招凉经,问了一些数据库和Java八股,没出算法题,直接挂了,竟然最喜欢出算法题的字节,这次…

Web3革命:区块链如何重塑互联网

引言 互联网的发展已经深刻地改变了我们的生活方式,而现在,Web3和区块链技术正在为我们提供一个全新的数字世界的视角。本文将带你深入了解Web3的核心概念、技术特性以及它如何正在重塑我们的互联网体验。 从Web1.0到Web3:数字革命的演进 W…

Git TortoiseGit 详细安装使用教程

前言 Git 是一个免费的开源分布式版本控制系统,是用来保存工程源代码历史状态的命令行工具,旨在处理从小型到非常大型的项目,速度快、效率高。《请查阅Git详细说明》。TortoiseGit 是 Git 的 Windows Shell 界面工具,基于 Tortoi…

在Visual Studio配置C++的netCDF库的方法

本文介绍在Windows电脑的Visual Studio软件中,配置C 语言最新版netCDF库的方法。 netCDF(Network Common Data Form)是一种用于存储、访问和共享科学数据的文件格式和库,其提供了一种灵活的方式来组织、描述和存储多维数据&#…

Python-VBA函数之旅-id函数

目录 一、id函数的常见应用场景: 二、id函数使用注意事项: 1、id函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:神奇夜光杯-CSDN博客 一、id函数的常见应用场景: id函…

【Linux开发实用篇】备份与恢复

备份 实体机无法做快照,我们可以使用备份和恢复技术 第一种方式 把需要的文件(或者分区)用TAR打包就好,下次恢复的时候进行解压 第二种方式 使用dump 和 restore 指令: 首先安装这两个指令 yum -y install dump, …

2024平替电容笔买哪个品牌好?iPad电容笔全能榜单热门款TOP5分享!

2024年,随着科技的不断发展和消费者对生活品质的追求,电容笔作为一种创新的无纸化工具,逐渐走进人们的生活和工作中。然而,在电容笔市场的繁荣背后,也隐藏着品质良莠不齐的现象。众多品牌为了追求利润,推出…