Python叠加矩形框图层2种方法及效果


Posted in Python onJune 18, 2020

两种方式以及效果:

方式一,使用PIL.Image.blend方式:

from PIL import Image, ImageDraw

im = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r')
im2 = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r')
draw = ImageDraw.Draw(im2)
draw.rectangle([(1000, 500), (1200, 800)], fill=(255, 0, 0), width=2)
out = Image.blend(im, im2, 0.5)
out.save('d:/tmp/demo1.jpg')
im.close()
im2.close()
out.show()
out.close()

方式二:直接进行像素叠加:

from PIL import Image, ImageDraw

im = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r')
b = (255, 0, 0)
opacity = 0.5

for x in range(1000, 1200):
  for y in range(500, 800):
    p = im.getpixel((x, y))
    p = [int(p[i]*(1-opacity) + b[i]*opacity) for i in range(3)]
    im.putpixel((x, y), tuple(p))

im.save('d:/tmp/demo2.jpg')
im.show()
im.close()

两种的效果图都如下:

Python叠加矩形框图层2种方法及效果

说明:第一种可以画矩形椭圆等定义好的一些形状,但是第二种,可以自主控制形状的能力更好,只要将相应的数据公式编辑到程序中,就可以绘制一些想要的轮廓出来;

第二种方式,是受第一种方式的定义(

out = image1 * (1.0 - alpha) + image2 * alpha)

然后联想到色盲测试图、另一种图(不知道叫什么名字,就是一张图里面不同的人,可能看出不同的东西出来)而想出来的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python subprocess模块学习总结
Mar 13 Python
利用python求解物理学中的双弹簧质能系统详解
Sep 29 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
基于Python列表解析(列表推导式)
Jun 23 Python
Selenium元素的常用操作方法分析
Aug 10 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
python将txt文档每行内容循环插入数据库的方法
Dec 28 Python
详解Python 重学requests发起请求的基本方式
Feb 07 Python
基于python 取余问题(%)详解
Jun 03 Python
python集合能干吗
Jul 19 Python
Django DRF认证组件流程实现原理详解
Aug 17 Python
Python利用socket模块开发简单的端口扫描工具的实现
Jan 27 Python
python中rb含义理解
Jun 18 #Python
python如何输出反斜杠
Jun 18 #Python
python能自学吗
Jun 18 #Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 #Python
Python正则表达式高级使用方法汇总
Jun 18 #Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 #Python
新手常见Python错误及异常解决处理方案
Jun 18 #Python
You might like
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
写一个用户在线显示的程序
2006/10/09 PHP
使用字符串函数输出整数化的PHP版本号
2006/10/09 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
2015/02/13 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
出纳工作岗位责任制
2014/02/02 职场文书
采购助理岗位职责
2014/02/16 职场文书
促销活动总结范文
2014/04/30 职场文书
法人委托书
2014/07/31 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
Python pyecharts绘制条形图详解
2022/04/02 Python