Python叠加矩形框图层2种方法及效果

作者:理舞 时间:2022-10-09 15:59:53 

两种方式以及效果:

方式一,使用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)

然后联想到色盲测试图、另一种图(不知道叫什么名字,就是一张图里面不同的人,可能看出不同的东西出来)而想出来的。

来源:https://www.cnblogs.com/TheoryDance/p/13131131.html

标签:Python,叠加,矩形框,图层
0
投稿

猜你喜欢

  • Golang如何读取单行超长的文本详解

    2024-05-10 13:57:21
  • PHP实现sha-256哈希算法实例代码

    2023-05-25 01:05:23
  • python2.7安装opencv-python很慢且总是失败问题

    2021-01-10 06:11:15
  • JS实现为排序好的字符串找出重复行的方法

    2024-04-10 10:49:53
  • Pytes正确的配置使用日志功能

    2023-07-18 05:51:17
  • 六个窍门助你提高Python运行效率

    2021-07-19 08:31:15
  • 解决在pycharm中显示额外的 figure 窗口问题

    2021-11-29 01:00:26
  • PyTorch模型保存与加载实例详解

    2022-02-24 20:08:56
  • Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解

    2022-03-26 10:52:57
  • Go语言编译原理之变量捕获

    2024-04-27 15:27:14
  • mybatis-plus的sql语句打印问题小结

    2024-01-25 11:23:42
  • 轻松掌握SQL Server数据库的六个实用技巧

    2009-01-15 12:56:00
  • 微信小程序开发之组件设计规范

    2024-04-18 09:35:15
  • php传值和传引用的区别点总结

    2024-03-18 11:26:39
  • python计算无向图节点度的实例代码

    2022-05-24 22:42:49
  • 详解TreeView绑定数据库

    2024-01-17 17:09:13
  • Vue elementUI 自定义表单模板组件功能实现

    2023-07-02 16:37:46
  • Python数据类型转换实现方法

    2022-06-04 22:58:39
  • MySQL 移动数据目录后启动失败问题解决

    2024-01-23 02:45:42
  • 使用Django框架中ORM系统实现对数据库数据增删改查

    2024-01-28 03:25:50
  • asp之家 网络编程 m.aspxhome.com