ImageDraw.rectangle(xy, fill=None, outline=None, width=1)使用举例

2023-05-16

参考链接: ImageDraw.rectangle(xy, fill=None, outline=None, width=1)

在这里插入图片描述
ImageDraw.rectangle()函数使用说明:

在指定的图片上绘制矩形,
通过xy可以指定矩形的位置的大小,
通过outline可以指定矩形边框的颜色,
参数fill可以用来指定矩形内部填充的颜色,
参数width可以指定矩形边框的宽度.

实验代码展示:


from PIL import Image,ImageFont, ImageDraw
import numpy as np
import colorsys
image = Image.open("bryant.jpg")
class_names = \
    ["aeroplane", "bicycle", "bird", "boat", 
    "bottle", "bus", "car", "cat", "chair", 
    "cow", "diningtable", "dog", "horse", 
    "motorbike", "person", "pottedplant", 
    "sheep", "sofa", "train", "tvmonitor"]

hsv_tuples = [
    (x / len(class_names), 1., 1.)
        for x in range(len(class_names))
]  # 获得hsv格式的不同色度

colors = list(
    map(
        lambda x: colorsys.hsv_to_rgb(*x), 
        hsv_tuples
    )
)  # 获得rgb格式的不同颜色

colors = list(
    map(
        lambda x: (int(x[0] * 255), int(x[1] * 255), int(x[2] * 255)),
        colors
    )
)  # 通过hsv格式来调整不同类别对应边框的色度


font = ImageFont.truetype(
    font='simhei.ttf',
    size=np.floor(3e-2 * 1000 + 0.5).astype('int32')
)  # 获得字体


# label = '{} {:.2f}'.format('linmazi', 0.982)
label = '{} {:.2f}'.format('林麻子', 0.982)

draw = ImageDraw.Draw(image)  

for i in range(8):  # 将矩形框画得更粗一些
    draw.rectangle(
        [100+i, 150+i, 300-i, 600-i],
        outline=colors[class_names.index('car')]
    )


draw.rectangle(
    [400, 350, 500, 600],
    outline=colors[class_names.index('tvmonitor')],
    width=8
)


draw.rectangle(
    [600, 350, 750, 600],
    outline=colors[class_names.index('motorbike')],
    width=8,
    fill=colors[class_names.index('diningtable')]  # 用于填充
)

image.show()

运行结果截图:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ImageDraw.rectangle(xy, fill=None, outline=None, width=1)使用举例 的相关文章

  • Webpack mode三种模式配置说明(production,development,none)

    我们都知道webpack的配置文件 webpack config js 文件中 mode 表示webpack当前的环境以及对不同的环境的配置 虽然官方文档写明了三种不同的模块的配置 xff0c 但是没有具体说明是什么意思 xff0c 我就注
  • Mysql-解决创建存储函数This function has none of DETERMINISTIC

    问题 当二进制日志启用后 xff0c 这个变量就会启用 它控制是否可以信任存储函数创建者 xff0c 不会创建写入二进制日志引起不安全事件的存储函数 如果设置为0 xff08 默认值 xff09 xff0c 用户不得创建或修改存储函数 xf
  • 基于Gazebo的PX4模拟方案 arm-none-eabi-gcc 的错误提示

    整个教程是基于此CSDN的网站进行的 https blog csdn net yanwumuxi article details 80097294 但是在操作的过程中会存在 arm none eabi gcc 的错误提示 xff0c 这时候
  • 深入理解python中的None对象

    1 None None是python中的一个特殊的常量 表示一个空的对象 空值是python中的一个特殊值 数据为空并不代表是空对象 例如 等都不是None None和任何对象比较返回值都是False 除了自己 gt gt gt L gt
  • 重置 svg 填充 css

    我想让所有 svgs 都具有相同的纯色 所以我用 svg fill ccc 但我想在 hover 上获得默认填充 如何禁用填充并恢复默认值 您可以使用以下方法执行此操作 not 并有效地设置 不悬停 的样式 svg not hover fi
  • 使用 2 个不同的变量进行排序和填充 geom_bar ggplot2 R

    我有一个关于填写字段的问题geom barggplot2 包的 我想用一个变量填充我的 geom bar 在下一个示例中 该变量称为var fill 但订购geom plot与另一个变量 称为clarity在示例中 我怎样才能做到这一点 非
  • 如何改进 Gnuplot 中渐变和填充元素的渲染?

    我注意到 Gnuplot 在处理填充元素时会产生丑陋的伪影 下图的调色板中有一个实例 另一个例子是当使用filledcurves从 ASCII 文件中的点定义的两条曲线之间 在这种情况下 您可以看到 该区域并不是线条之间真正的实心填充 而是
  • 用ggplot中的函数定义的两条线之间的阴影区域[重复]

    这个问题在这里已经有答案了 我试图找到如何对 ggplot 中由函数定义的两条线之间的区域进行着色的可能性 我找到了一些使用 geom area 或 geom ribbon 的解决方案 但在这两种情况下 您都需要一个定义 ymin 和 ym
  • ggplot2根据数据值填充颜色

    我希望能够根据数据框中存储的值设置 ggplot 填充颜色 下面的代码 几乎 是我想要做的 除了我不只是使用 fill MyColor 我希望代码实际使用 MyColor 字段中的 RRGGBB 十六进制值 df data frame An
  • 用ggplot填充R中两条黄土平滑线之间的区域

    我想知道如何填充 ggplot 中黄土平滑线之间的区域 以下数据框用于图片 x y ymin ymax grp ydiff 1 1 3 285614 3 285614 10 14177 min 6 8561586 2 1 10 141773
  • Android L - android.graphics.outline

    根据 L 开发者预览版的 android 开发者页面 可以使用Outline类并定义视图的轮廓以正确的方式显示阴影 http developer android com preview material views shadows html
  • 使用findnext填充多维数组VBA Excel

    我的问题实际上涉及一个延伸到的问题EXCEL VBA 将搜索结果存储在数组中 https stackoverflow com questions 11312226 excel vba store search results in an a
  • 用相同的值填充多维数组 C#

    使用 C 有更快的方法吗 double myArray new double length1 length2 for int i 0 i
  • 需要移动多少步才能到达目的地?高效注水

    我想通过四向移动的次数来计算单元格与目标单元格的距离以到达某处 因此 紧邻目的地的四个单元格的距离为 1 每个单元格的四个基本方向上的单元格的距离为 2 依此类推 最大距离可能约为 16 或 20 并且有些单元格被障碍物占据 距离可以绕过它
  • 将鼠标悬停在父级上时更改 SVG 多边形和文本填充颜色

    我有一个小难题正在努力解决 当您将鼠标悬停在父 div 上时 尝试更改多边形填充颜色和文本填充颜色 这可以通过 CSS 实现吗 希望避免使用 JavaScript 并保持跨浏览器兼容 Codepen 示例在这里 http codepen i
  • p5 使用十六进制字符串和 alpha 设置填充颜色

    我试图在 p5 js 中使用十六进制颜色值 但在使用它和同时使用 alpha 时遇到问题 我想用一个变量设置颜色 用另一个变量设置阿尔法 let myColor FF0000 let myAlpha 128 function setup c
  • 如何扩展行并填写给定开始和结束之间的数字

    我有这个数据框 df lt tibble x c 1 10 x
  • html css 填充 svg 但只有 50% 高度 [重复]

    这个问题在这里已经有答案了 你好 我在一个跨度中有一个 svg 心形 我想做的基本上是我想用红色填充 svg 但只填充 50 的高度 并且我不能影响跨度 span class ikoncircle span
  • SqlDataAdapter.Fill() 超时 - 底层存储过程快速返回

    我有一个 SqlDataAdapter 其中填充了 21 行数据 4 列 驱动它的存储过程会在几秒钟内返回 SQL Mgmt Studio 但 Fill 需要 5 分钟 ArrayList ret new ArrayList SqlData
  • 如何在android中使用进度条填充图像

    我正在做一个项目 它需要填充图像 意味着我想使用图像形状作为进度条 我不知道如何使用自定义进度栏 这是一个图像及其图像按钮 这是进度为 100 时的情况 这是 0 进度 您需要了解可绘制资源 可绘制资源 安卓开发者 https develo

随机推荐

  • sumo 教程——高速公路

    本教程涵盖了在多车道高速公路上创建异构流以及修改和保存视图设置的非常基本的元素 修建高速公路 编辑几何点 打开 netedit 创建一个虚构的高速公路 我们一开始就保持这个非常简单 xff0c 并考虑一个没有入口或出口的路段 按e进入边创建
  • sumo教程——Manhattan

    介绍 本教程介绍了如何在 SUMO 中构建曼哈顿移动模型 在这个模型中 xff0c 固定数量的车辆在曼哈顿电网网络上随机行驶 所有文件也可以在 lt SUMO HOME gt docs tutorial manhattan 目录中找到 创建
  • 基于51单片机的双通道DHT11温湿度显示器(LCD1602)

    基于STC89C51单片机的双通道DHT11实时温湿度显示系统 xff08 LCD1602 xff09 前言题目要求实现的功能思路介绍 代码部分注意事项驱动部分LCD1602驱动按键驱动 主要模块初始化DHT11驱动中断服务程序显示函数主函
  • 【21-7-25笔记】SR(Segment Routing)详解

    第一卷 第一章 简介 1 11 SRv6 SRv6 将SR框架应用到IPv6数据平面 SRv6对IPv6的价值至关重要 xff0c 将极大地影响未来的IP基础设施部署 xff0c 无论是在数据中心 xff0c 大规模汇聚网络 xff0c 还
  • javascript编写学生,查询学校学生

    lt DOCTYPE html gt lt head gt lt head gt lt style gt table width 400px height 400px border 1px solid red div float left
  • A-Frame基础用法

    简介 x1f170 Frame 是一个用来构建虚拟现实 xff08 VR xff09 应用的网页开发框架 由WebVR的发起人Mozilla VR 团队所开发 xff0c 是当下用来开发WebVR内容主流技术方案 WebVR是一个完全开源的
  • 双色球小程序(关于对数组的使用)

    span class token keyword package span 双色球 span class token punctuation span span class token keyword import span java sp
  • IDEA: 遇到问题Error during artifact deployment. See server log for details,解决

    目录 一 jar 包有有些没能识别 xff0c tomcat没有配置好 xff01 二 这个一般代码错了 xff1a 三 使用更低一点版本的Tomcat 在学习JavaWeb的时候 xff0c 遇到一个著名的报错 xff1a Error d
  • VNC死机的处理方法

    目录 1 打开MobaXterm并登录 2 连续输入以下命令 xff1a 1 打开MobaXterm并登录 2 连续输入以下命令 xff1a conda deactivate 回车 vncserver kill 3 回车 vncserver
  • js异步操作

    一 异步操作概述 单线程模型 单线程模型指的是 xff0c JavaScript 只在一个线程上运行 也就是说 xff0c JavaScript 同时只能执行一个任务 xff0c 其他任务都必须在后面排队等待 程序里面所有的任务 xff0c
  • 【写sql时遇到的bug:org.xml.sax.SAXParseException; lineNumber: 1; columnNumber】

    报错 xff1a org xml sax SAXParseException lineNumber 1 columnNumbe 修改后的代码片段 在使用 64 Select 注解编写sql的时候 xff0c 原先写的 gt 61 和 lt
  • @Scheduled 定时任务不执行

    一 排查代码中添加的定时任务步骤是否正确 启动类上加 64 EnableScheduling 注解定时任务类上加 64 Component定时方法上加 64 Scheduled span class token annotation pun
  • (09)Linux命令【mkdir命令】

    09 Linux命令 mkdir命令 1 1 目录 1 目录 2 Linux系统介绍 3 Linux 应用领域 4 Linux命令 mkdir命令 5 结语 1 2 Linux系统介绍 Linux 全称GNU Linux 是一种免费使用和自
  • 银河麒麟高级服务器操作系统V10上基于Docker、x11vnc-desktop打造基于容器的在线IDEA arm64开发环境方案

    前言 在线IDE目前表现比较好的有云效 xff0c 其功能主要还是以Web方式提供在线vscode集成开发环境 xff0c 启动编辑环境初步推断为内部启动一个专用语言的虚拟机或者容器 xff0c clone源码 优点是客户端只需要一个浏览器
  • FreeRTOS--中断管理

    异常是指任何打断处理器正常执行 xff0c 并且迫使处理器进入一个由有特权的特殊指令执 行的事件 内部事件 xff08 像处理器指令运行产生的事件 xff09 引起的异常称为同步异常 异步异常主要是指由于外部异常源产生的异常 xff0c 是
  • Centos8无法联网问题解决!

    大家好我是菜鸟阿贵 xff0c 今天装了一个centos8发现不能联网 xff0c 甚至在终端都不能ping通 xff0c 在网上找了半天 xff0c 好多博主都是无脑复制别人的 xff0c 自己估计都没有研究过 xff0c 什么修改配置啊
  • linux/fs/namei.c/permission()

    permission is used to check for read write execute permissions on a file I don 39 t know if we should look at just the e
  • 三相无刷直流电机的控制设计(一)基本硬件电路设计

    文章目录 前言 一 三相无刷电机简要介绍 1 1电机原理 2 2使用电机 二 硬件设计 1 驱动芯片选择 2 电路设计 2 1电机桥电路 2 2光耦隔离电路 2 2霍尔采集电路 总结 前言 三相无刷直流电机的控制 从零开始 本系列文章抓药基
  • numpy.maximum()函数和numpy.minimum()函数的使用

    参考链接 numpy maximum 参考链接 numpy minimum 这两个函数的功能大体分别是在两个多维数组中逐元素求最大值和最小值 实验1 numpy maximum 函数 Python span class token numb
  • ImageDraw.rectangle(xy, fill=None, outline=None, width=1)使用举例

    参考链接 ImageDraw rectangle xy fill 61 None outline 61 None width 61 1 ImageDraw rectangle 函数使用说明 在指定的图片上绘制矩形 通过xy可以指定矩形的位置