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 pdb调试方法分享
Jan 21 Python
Python pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
python实现K最近邻算法
Jan 29 Python
教你使用python画一朵花送女朋友
Mar 29 Python
python操作mysql代码总结
Jun 01 Python
python3 线性回归验证方法
Jul 09 Python
使用Python操作ArangoDB的方法步骤
Feb 02 Python
wxPython修改文本框颜色过程解析
Feb 14 Python
Python基于pandas爬取网页表格数据
May 11 Python
Python pip安装模块提示错误解决方案
May 22 Python
Python中logger日志模块详解
Aug 04 Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 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中几种常见的超时处理全面总结
2012/09/11 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
vuex的简单使用教程
2018/02/02 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
JS实现二维数组横纵列转置的方法
2018/04/17 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python多线程抓取天涯帖子内容示例
2014/04/03 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
学习python的前途 python挣钱
2019/02/27 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
python开发入门——set的使用
2020/09/03 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
《蓝色的树叶》教学反思
2014/02/24 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers