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://xiahunao.cn/news/2979341.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

用Python将原始边列表转换为邻接矩阵

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在图论和网络分析中,图是一种非常重要的数据结构,它由节点&#xff…

MATLAB中normxcorr2函数的用法(模板匹配和对象识别)

normxcorr2 是 MATLAB 中的一个函数,用于计算两个矩阵的归一化互相关。这个函数在图像处理和计算机视觉中特别有用,尤其是在模板匹配和对象识别方面。 函数签名 在 MATLAB 中,normxcorr2 函数的基本调用形式如下: C normxcorr…

虚拟现实(VR)的应用场景

虚拟现实(VR)技术创建和体验三维虚拟世界的计算机仿真技术。用户通过佩戴VR头显等设备,可以完全沉浸在虚拟世界中,并与虚拟世界中的物体进行交互。VR技术具有广泛的应用前景,可以应用于各行各业。以下是一些VR的应用场…

海康智能相机FTP本地存图流程

背景:近期一个新项目需要使用到智能相机,借助智能相机算法直接输出检测结果并将相机图像进行本地化保存和展示。由于申购目标智能相机未到,暂时使用测试智能相机。 目标智能相机型号:海康智能相机MV-SC3050XC 当前测试相机型号…

【Applied Algebra】隐藏子群问题和Shor算法的新视角

隐藏子群问题和Shor算法的新视角 隐藏子群问题是指给定一个群和一个函数,该函数对于群的一个子群是常数,并且对于子群的任何两个不同的左陪集有不同的值,问题是找到这个子群.HSP是许多量子算法的基础,其中最著名的是Shor的算法,它可以用来分解大整数和计算离散对数,这直接威胁到…

【sping】在logback-spring.xml 获取项目名称

在日志文件中我们想根据spring.application.name 创建出的文件夹。 也不想死在XML文件中。 application.yml spring:application:name: my-demo logback-spring.xml <springProperty name"application_name" scope"context" source"spring.app…

【Redis】Zset 数据类型

文章目录 常用命令zaddzcard & zcountzrange & zrevrangezpopmax & bzpopmaxzpopmin & bzpopminzrank & zrevrankzscore & zremzremrangebyrank & zremrangebyscorezincrby 多个集合间的交互命令交集 & zinterstore并集 & sunionstore 内部…

淘宝客链接转换接口阿里妈妈佣金转换:功能、使用与优缺点详解

淘宝客链接转换接口详解 随着互联网的发展&#xff0c;电子商务行业日益繁荣&#xff0c;淘宝作为国内最大的电商平台之一&#xff0c;其链接转换接口也受到了广泛关注。淘宝客链接转换接口是一种将淘宝商品链接转换成特定形式的短链接或推广链接的工具&#xff0c;方便用户进…

模版初阶【C++】

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ &#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1…

AI人工智能培训老师叶梓:大数据治理的关键工具:开源数据血缘分析系统

在大数据时代&#xff0c;数据的产生和传播速度日益加快&#xff0c;数据之间的关系也变得日益复杂。为了更好地管理和理解数据之间的关系&#xff0c;数据血缘分析系统应运而生。本文将介绍几个开源的数据血缘分析系统&#xff0c;它们在数据治理、数据质量管理和数据隐私保护…

Apache Answer 开源问答社区安装体验

Answer 是由 SegmentFault 思否团队打造的一款问答平台软件,后端使用 Go 语言编写,于2022年10月24日(程序员节)正式开源。你可以免费使用 Answer 高效地搭建一个问答社区,并用于产品技术问答、客户支持、用户交流等场景。 2023年10月9日,Answer 顺利通过投票,以全票通过…

自己写的爬虫小案例

网址&#xff1a;aHR0cDovL2pzc2NqZ3B0Lmp4d3JkLmdvdi5jbi8/dXJsPS92aWV3L3dvcmtpbmdVbml0L3dvcmtpbmdVbml0Lmh0bWw 这串代码能够爬取勘察单位企业的详细信息。 import requests import time import csv f open(勘察单位公司信息.csv,w,encodingutf-8,newline) csv_writer …

详解QString与QByteArray使用对比

QString与QByteArray是Qt库中两种不同的字符串/字节序列容器&#xff0c;各自服务于特定的应用场景。本篇文章将详细解析它们的异同&#xff0c;帮助您在实际编程中准确选择和有效地使用这两种类型。 参考 QString类的使用 相同之处 构造与初始化&#xff1a; 两者都支持直接使…

2024深圳杯东三省A题全保姆教程 多个火箭残骸的准确定位

A题 多个火箭残骸的准确定位 问题1 &#xff1a;建立数学模型&#xff0c;分析如果要精准确定空中单个残骸发生音爆时的位置坐标&#xff08;经度、纬度、高程&#xff09;和时间&#xff0c;至少需要布置几台监测设备&#xff1f;假设某火箭一级残骸分离后&#xff0c;在落点附…

面试算法题之暴力求解

这里写目录标题 1 回溯1.1 思路及模板1.1 plus 排列组合子集问题1.2 例题1.2.1 全排列1.2.2 N 皇后1.2.3 N皇后问题 II1.2.4 子集 &#xff08;子集/排列问题&#xff09;1.2.4 组合(组合/子集问题)1.2.5 全排列 &#xff08;排列问题&#xff09;1.2.1做过1.2.6 子集II &#…

金融时报:波场亮相哈佛大学并举办TRON Builder Tour活动

近日,波场TRON作为顶级白金赞助商出席哈佛区块链会议并成功举办TRON Builder Tour哈佛站活动,引发海外媒体热议。美联社、金融时报、Cointelegraph等国际主流媒体及加密知名媒体均对此给予了高度评价,认为本次大会对TRON Builder Tour活动具有里程碑意义,彰显了波场TRON致力于促…

Linux加强篇-Vim编辑器

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

windows10小皮安装不同版本composer,实现自由切换使用

1、使用phpstudy小皮面板安装composer1.8.5和composer2.5.8两个版本&#xff1b; 2、打开刚才安装的composer安装目录&#xff1a;D:\phpstudy_pro\Extensions 3、打开composer1.8.5版本&#xff0c;修改composer.bat名称为composer1.8.5.bat&#xff1a; 4、打开composer2.5.8…

8【PS作图】画一个“像素云朵”

选择64*128像素大小&#xff0c;横向画布 选择“油漆桶”工具&#xff0c;“容差”调整为0&#xff0c;取消“锯齿”&#xff0c;勾选“连续的”&#xff0c;这样方便后续上色&#xff0c;并且边缘都是像素风格的锯齿状 点击画布&#xff0c;变成蓝色天空 画云朵&#xff0c;首…

Docker镜像与容器的命令与基本操作

目录 一、docker基本命令 1、查看镜像 2、查看所有容器的状态 3、docker的run指令 4、run的工作流程 5、查看docker版本的命令 6、查看docker信息 7、docker帮助命令文档 二、docker镜像操作 1、搜索镜像&#xff08;公共仓库&#xff09; 2、下载镜像 3、查看镜像…