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 isinstance判断对象类型
Sep 06 Python
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
Python实现图片尺寸缩放脚本
Mar 10 Python
python如何为被装饰的函数保留元数据
Mar 21 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
Python实现的本地文件搜索功能示例【测试可用】
May 30 Python
对Python 内建函数和保留字详解
Oct 15 Python
Python 最强编辑器详细使用指南(PyCharm )
Sep 16 Python
Python函数的默认参数设计示例详解
Dec 01 Python
关于python中的xpath解析定位
Mar 06 Python
使用Python内置模块与函数进行不同进制的数的转换
Apr 26 Python
python开发前景如何
Jun 11 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
基于文本的搜索
2006/10/09 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
利用Python写一个爬妹子的爬虫
2018/06/08 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
GWT的应用有哪两种部署模式
2012/12/21 面试题
生产管理的三大手法
2013/11/11 职场文书
自荐信需注意事项
2014/01/25 职场文书
求职信名称怎么写
2014/05/26 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
社区务虚会发言材料
2014/10/20 职场文书
高一军训决心书
2015/02/05 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
党员证明信
2015/06/19 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
教师读书活动心得体会
2016/01/14 职场文书
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android