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 字符串中的字符倒转
Sep 06 Python
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
python3爬取淘宝信息代码分析
Feb 10 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
Apr 05 Python
Python实现两个list求交集,并集,差集的方法示例
Aug 02 Python
Python 带有参数的装饰器实例代码详解
Dec 06 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
Python运行DLL文件的方法
Jan 17 Python
Python networkx包的实现
Feb 14 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
python解决OpenCV在读取显示图片的时候闪退的问题
Feb 23 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 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上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
PHP递归创建多级目录
2015/11/05 PHP
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
JS面向对象编程详解
2016/03/06 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
基于Node.js实现压缩和解压缩的方法
2018/02/13 Javascript
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
vue 登录滑动验证实现代码
2018/08/24 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
[04:20]DOTA2-DPC中国联赛 正赛 VG vs LBZS 选手采访 1月19日
2021/03/11 DOTA
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
python散点图实例之随机漫步
2018/08/27 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
java程序员面试交流
2012/11/29 面试题
季度思想汇报
2014/01/01 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
日化店促销方案
2014/03/26 职场文书
JS的深浅复制详细
2021/10/16 Javascript
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers
python读取mat文件生成h5文件的实现
2022/07/15 Python