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检测网页是否有日常链接
Jun 03 Python
Python内置模块turtle绘图详解
Dec 09 Python
TensorFlow深度学习之卷积神经网络CNN
Mar 09 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
Python中字符串List按照长度排序
Jul 01 Python
python小项目之五子棋游戏
Dec 26 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
Feb 19 Python
selenium自动化测试入门实战
Dec 21 Python
matplotlib相关系统目录获取方式小结
Feb 03 Python
解决numpy和torch数据类型转化的问题
May 23 Python
浅析Django接口版本控制
Jun 26 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
利用js调用后台php进行数据处理原码
2006/10/09 PHP
php读取mysql的简单实例
2014/01/15 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
js 对象是否存在判断
2009/07/15 Javascript
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
jquery  实现轮播图详解及实例代码
2016/10/12 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
js拖动滑块和点击水波纹效果实例代码
2018/10/16 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
Python深入学习之上下文管理器
2014/08/31 Python
基于Python的关键字监控及告警
2017/07/06 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
Python中base64与xml取值结合问题
2019/12/22 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
大学生自我鉴定范文
2013/12/28 职场文书
八年级生物教学反思
2014/01/22 职场文书
三方合作协议书范本
2014/04/18 职场文书
学生党员公开承诺书
2014/05/28 职场文书
争先创优心得体会
2014/09/12 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis