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

pillow学习4

ImageChops 模块
在 Pillow 库的内置模块 ImageChops 中包含了多个用于实现图片合成的函数。这些合成
功能是通过计算通道中像素值的方式来实现的。其主要用于制作特效、合成图片等操作。
常用的内置函数如下所示:
(1)相加函数 add(),功能是对两张图片进行算术加法运算。具体语法如下所示:

ImageChops.add(image1,image2,scale = 1.0,offset = 0

(2)减法函数 subtract(),功能是对两张图片进行算术减法运算。具体语法如下所示:

ImageChops.subtract(image1,image2,scale = 1.0,offset = 0
from PIL import Image
from PIL import ImageChops
#打开图片
imga=Image.open('blend1.jpg')
imgb=Image.open('blend2.jpg')
#对两张图片进行减法运算
ImageChops.subtract(imga,imgb,1,0).show()

变暗函数 darker()
功能是比较两个图片的像素,取两张图片中对应像素的较小值,所
以合成时两幅图像中对应位置的暗部分得到保留,而去除亮部分。具体语法如下所示:

ImageChops.darker(image1,image2 )
from PIL import Image
from PIL import ImageChops
#打开图片
imga=Image.open('blend1.jpg')
imgb=Image.open('blend2.jpg')
#使用变暗函数 darker()
ImageChops.darker(imga,imgb).show()

变亮函数 lighter()
与变暗函数 darker()相反,功能是比较两个图片(逐像素比较,返回一幅新的图片,这幅新的图片是将两张图片中较亮的部分叠加得到的。也就是说,在某
一点上,两张图中哪个的值大(亮)则取之。具体语法如下所示

from PIL import Image
from PIL import ImageChops
#打开图片
imga=Image.open('blend1.jpg')
imgb=Image.open('blend2.jpg')
#使用变亮函数 lighter()
ImageChops.lighter(imga,imgb).show()

叠加函数 multiply(),功能是将两张图片互相叠加。如果用纯黑色与某图片进行叠加操
作,就会得到一幅纯黑色的图片。如果用纯白色与图片作叠加,则图片不受影响。具体语法

from PIL import Image
from PIL import ImageChops
#打开图片
imga=Image.open('blend1.jpg')
imgb=Image.open('blend2.jpg')
#将两张图片相互叠加
ImageChops.multiply(imga,imgb).show()
out = image1 * image2 / MAX

屏幕函数 screen(),功能是先反色后叠加,实现合成图像的效果,就像将两张幻灯片用
两台投影机同时投影到一个屏幕上的效果。具体语法如下所示:

from PIL import Image
from PIL import ImageChops
#打开图片
imga=Image.open('blend1.jpg')
imgb=Image.open('blend2.jpg')
#实现反色后叠加
# ImageChops.screen(imga,imgb).show()

反色函数 invert(),类似于集合操作中的求补集,最大值为 Max,每个像素做减法,取
出反色。在反色时将用 255 减去一幅图像的每个像素值,从而得到原来图像的反相。也就是
说,其表现为“底片”性质的图像。具体语法如下所示:

from PIL import Image
from PIL import ImageChops
#打开图片
imga=Image.open('blend1.jpg')
imgb=Image.open('blend2.jpg')
#使用反色函数 invert()
ImageChops.invert(imga).show()

比较函数 difference(),可以逐像素做减法操作,计算出绝对值。函数 difference()能够
两幅图像的对应像素值相减后的图像,对应像素值相同的,则为黑色。函数 difference()通常
用来找出图像之间的差异。具体语法如下所示:

from PIL import Image
from PIL import ImageChops
#打开图片
imga=Image.open('blend1.jpg')
imgb=Image.open('blend2.jpg')
#使用比较函数 difference()
ImageChops.difference(imga,imgb).show()
out = abs(image1 - image2)
http://www.lryc.cn/news/358258.html

相关文章:

  • 外企如何有效面对日益严格的跨境数据传输法律?
  • 运维开发.MySQL.范式与反范式化
  • HCIA-HarmonyOS Application Developer 课程大纲
  • 如何用Java实现SpringCloud Alibaba Sentinel的熔断功能?
  • Day27
  • uni-app App端实现文字语音播报(Ba-TTS)
  • 在WHM中如何调整max_upload_size 参数大小
  • docker system prune命令详解
  • 使用jdk自带jhat工具排查OOM问题
  • 独孤思维:付费就是割韭菜,千万别上当
  • 【PB案例学习笔记】-12秒表实现
  • Linux驱动开发笔记(二) 基于字符设备驱动的GPIO操作
  • 【ESP32之旅】ESP32 PlatformIO 固件单独烧录
  • 视频监控业务平台LntonCVS运用国标协议对接视频汇聚管理综合平台应用方案
  • 【Linux 网络编程】协议的分层知识!
  • Firefox国际版
  • 封装和解构是 Python 中常用的技术
  • 理解OAuth:服务间的授权机制
  • JRT性能演示
  • React 使用JSX或者TSX渲染页面
  • 【Linux】Socket中的心跳机制(心跳包)
  • Java怎样动态给对象添加属性并赋值【代码实现】
  • C#多线程同步lock、Mutex
  • 模型实战(21)之 C++ - tensorRT部署yolov8-det 目标检测
  • Linux完整版命令大全(二十一)
  • Elasticsearch集群许可证过期问题解决方法汇总
  • Golang实现根据文件后缀删除文件和递归删除文件
  • Python OCR 文字识别使用模型:读光-文字识别-行识别模型-中英-通用领域
  • Python | Leetcode Python题解之第105题从前序与中序遍历序列构造二叉树
  • 经典面试题:什么是事物的隔离级别?什么是MVCC?