Python学习DAY13_图像处理

图形处理

        用程序来处理图像和办公文档经常出现在实际开发中,Python 的标准库中虽然没有直接支持这些操作的模块,但我们可以通过 Python 生态圈中的第三方模块来完成这些操作。

相关知识

颜色

        大家也许不太记得小时候美术课上的具体内容,但是应该还记得混合红、黄、蓝三种颜料可以得到其他的颜色,事实上这三种颜色就是被称为美术三原色,它们是不能再分解的基本颜色。在计算机中,我们可以将红、绿、蓝三种色光以不同的比例叠加来组合成其他的颜色,因此这三种颜色就是色光三原色,所以我们通常会将一个颜色表示为一个 RGB 值或 RGBA 值。

       RGB 色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色的的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。

        在 RGBA 其中的 A 表示 Alpha 通道,它决定了透过这个图像的像素,也就是透明度 。

 RGBA 举例:

名称RGBA值
White(255, 255, 255, 255)
Red(255, 0, 0, 255)
Green(0, 255, 0, 255)
Blue(0, 0, 255, 255)
Gray(128, 128, 128, 255)
Yellow(255, 255, 0, 255)
Black(0, 0, 0, 255)

像素

        像素是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。

        可以将像素视为整个图像中不可分割的单位或者是元素。不可分割的意思是它不能够再切割成更小单位抑或是元素,它是以一个单一颜色的小格存在。每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。

用Pillow操作图像

        Pillow 是由从著名的 Python 图像处理库 PIL 发展出来的一个分支,通过 Pillow 可以实现图像压缩和图像处理等各种操作。可以使用下面的命令来安装 Pillow 。 

        Pillow中最为重要的是Image类,读取和处理图像都要通过这个类来完成。

打开图像 show

from PIL import Imageif __name__ == '__main__':image = Image.open('pl.jpg')image.format, image.size, image.mode('JPEG', (500, 281), 'RGB')image.show()

裁剪图像 crop

from PIL import Imageif __name__ == '__main__':image = Image.open('pl.jpg')rect = 80, 20, 240, 280image.crop(rect).show()

生成缩略图 thumbnail

from PIL import Imageif __name__ == '__main__':image = Image.open('pl.jpg')size = 250, 140image.thumbnail(size)image.show()

粘贴图像  paste

from PIL import Imageif __name__ == '__main__':image_pl = Image.open('pl.jpg')image_backGround = Image.open('bg.jpg')rect = 120, 50, 300, 250pl = image_pl.crop(rect)image_backGround.paste(pl, (2000, 1200))image_backGround.show()

旋转图像 rotate

from PIL import Imageif __name__ == '__main__':image_pl = Image.open('pl.jpg')image_pl.rotate(180).show()

翻转图像 transpose 

from PIL import Imageif __name__ == '__main__':image_pl = Image.open('pl.jpg')image_pl.transpose(Image.FLIP_LEFT_RIGHT).show()

 

操作像素 putpixel

from PIL import Imageif __name__ == '__main__':image_pl = Image.open('pl.jpg')for x in range(200, 300):for y in range(20, 100):image_pl.putpixel((x, y), (128, 128, 128))image_pl.show()

滤镜效果  filter

        常用的Python滤镜主要有BLUR、CONTOUR、DETAIL、EDGE_ENHANCE、EDGE_ENHANCE_MORE、EMBOSS、FIND_EDGES、SMOOTH、SMOOTH_MORE、SHARPEN

from PIL import Image, ImageFilterif __name__ == '__main__':image_pl = Image.open('pl.jpg')image_pl.filter(ImageFilter.BLUR).show()

        Python-Pillow 的图像处理还有很多具体的操作,本文仅作为入门使用,需要更多图像处理的朋友可以去看 pillow 官方提供的 handbook (链接:Handbook - Pillow (PIL Fork) 10.3.0.dev0 documentation)

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

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

相关文章

【Flink SQL】Flink SQL 基础概念:SQL 动态表 连续查询

Flink SQL 基础概念:SQL 动态表 & 连续查询 1.SQL 应用于流处理的思路2.流批处理的异同点及将 SQL 应用于流处理核心解决的问题3.SQL 流处理的输入:输入流映射为 SQL 动态输入表4.SQL 流处理的计算:实时处理底层技术 - SQL 连续查询5.SQL…

css实现高度是宽度一半的效果

1、方法一&#xff1a;使用变量:root、var()、clac()实现&#xff1a; 1.1 效果如下&#xff1a; 2.2 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title>&l…

Python 常用的开源爬虫库介绍

Python 是一种广泛使用的编程语言&#xff0c;特别是在 Web 爬虫领域。有许多优秀的开源爬虫库可以帮助开发者高效地抓取网页内容。以下是几个常用的 Python 爬虫库及其特点和优势&#xff1a; BeautifulSoup 特点 - **HTML/XML 解析**&#xff1a;BeautifulSoup 是一个…

《如何使用C语言去下三子棋?》

目录 一、环境配置 二、功能模块 1.打印菜单 2.初始化并打印棋盘 3、行棋 3.1玩家行棋 3.2电脑行棋 4、判断是否和棋 5.判赢 三、代码实现 1、test.c文件 2、game.c文件 3、game.h文件 一、环境配置 本游戏用到三个文件&#xff0c;分别是两个源文件test.c game.c 和…

Python 数据持久层ORM框架 SQLAlchemy模块

文章目录 ORM 框架SQLAlchemy 简介SQLAlchemy 作用SQLAlchemy 原理SQLAlchemy 使用流程数据库驱动配置关系型数据库配置NoSQL数据库配置 创建引擎(Engine)定义模型类(ORM)创建会话(Session)创建数据库表其他关键字参数&#xff0c;这些参数将传递给底层的 DDL 创建函数。 删除数…

江科大stm32学习笔记——【6-1】TIM定时中断

一.定时器 1.类型 STM32F103C8T6定时器资源&#xff1a;TIM1,TIM2,TIM3,TIM4 我们这次用通用定时器 2.基本定时器 预分频器对来自RCC_TIMxCLK的72MHz进行预分频&#xff0c;比如写0就是不分频或1分频&#xff0c;输出频率输入频率72MHz。写1就是2分频&#xff0c;输出频率输…

基于Verilog的简易CPU设计

前言 本篇文章将简单讲解CPU之间各部分的功能及接线&#xff0c;并提供Verilog模拟CPU的各个组成部分。该CPU可以完成一些操作&#xff0c;如&#xff1a;加减法&#xff0c;与或&#xff0c;指令跳转等&#xff0c;最后提供testbench用于测试该CPU的工作情况是否符合预期。 C…

耳机壳UV树脂制作私模定制耳塞适合什么样的人使用呢?

耳机壳UV树脂制作私模定制耳塞适合什么样的人使用呢&#xff1f; 耳机壳UV树脂制作私模定制耳塞适合以下人群使用&#xff1a; 对音质要求高的人&#xff1a;私模定制耳塞能够完美契合用户的耳朵形状&#xff0c;减少漏音和外部噪音的干扰&#xff0c;提供更好的音质体验。需要…

[媒体宣传]上海有哪些可以邀约的新闻媒体资源汇总

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 上海作为中国最大的城市之一&#xff0c;拥有丰富的新闻媒体资源。以下是一些可以邀约的新闻媒体资源汇总&#xff1a; 报纸媒体&#xff1a; 《新民晚报》&#xff1a;上海最具影响力…

16、技巧之九: 修改参数,如何让表格翻页滚动到底部?【Selenium+Python3网页自动化总结】

1、问题提出 在网页配置参数时&#xff0c;输入参数名称搜索&#xff0c;搜出来的同名参数结果有多个&#xff0c;分布在一个表格的不同行&#xff0c;表格是动态加载的&#xff0c;需要滚动鼠标才能把所出参数找出来。用selenium怎么实现这种参数修改&#xff1f; 2、网页元素…

【深度学习实践】HaGRID,YOLOv5,手势识别项目,目标检测实践项目

文章目录 数据集介绍下载数据集将数据集转换为yolo绘制几张图片看看数据样子思考类别是否转换下载yolov5修改数据集样式以符合yolov5创建 dataset.yaml训练参数开始训练训练分析推理模型转换onnx重训一个yolov5s后记 数据集介绍 https://github.com/hukenovs/hagrid HaGRID&a…

开源办公系统CRM管理系统

基于ThinkPHP6 Layui MySQL的企业办公系统。集成系统设置、人事管理、消息管理、审批管理、日常办公、客户管理、合同管理、项目管理、财务管理、电销接口集成、在线签章等模块。系统简约&#xff0c;易于功能扩展&#xff0c;方便二次开发。 服务器运行环境要求 PHP > 7.…