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常用模块介绍
Nov 21 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
python批量替换多文件字符串问题详解
Apr 22 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
python 判断矩阵中每行非零个数的方法
Jan 26 Python
Python使用sqlalchemy模块连接数据库操作示例
Mar 13 Python
记录Python脚本的运行日志的方法
Jun 05 Python
Python @property装饰器原理解析
Jan 22 Python
用Python绘制漫步图实例讲解
Feb 26 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 Python
Python中for后接else的语法使用
May 18 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
服务器web工具 php环境下
2010/12/29 PHP
php jsonp单引号转义
2014/11/23 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
js滚动条回到顶部的代码
2011/12/06 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
灵活使用数组制作图片切换js实现
2016/07/28 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
javascript异步编程的六种方式总结
2019/05/17 Javascript
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
Python urlopen()函数 示例分享
2014/06/12 Python
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
python图片验证码生成代码
2016/07/02 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
python tornado微信开发入门代码
2018/08/24 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
python和c语言哪个更适合初学者
2020/06/22 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
交通事故案件代理词
2015/05/23 职场文书
班主任工作总结范文
2015/08/13 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书