【2020年最后一天致敬科比】PIL库用于目标检测
参考链接: PIL.ImageFont.truetype(font=None, size=10, index=0, encoding=’’, layout_engine=None)
参考链接: ImageDraw.text(xy, text, fill=None, font=None, anchor=None, spacing=4, align=‘left’, direction=None, features=None, language=None, stroke_width=0, stroke_fill=None, embedded_color=False)
参考链接: ImageDraw.rectangle(xy, fill=None, outline=None, width=1)
参考链接: ImageDraw.textsize(text, font=None, spacing=4, direction=None, features=None, language=None, stroke_width=0)
实验代码展示:
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)
label_size = draw.textsize(label, font)
print('label_size:',label_size) # label_size: (165, 29)
label = label.encode('utf-8')
# print(label)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')] # 用于填充
)# draw.text([600, 350], str(label,'UTF-8'), fill=(0, 0, 0), font=font)
draw.text([600, 50], label.decode(), fill=(255, 0, 0), font=font)image.show()
控制台输出结果:
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。尝试新的跨平台 PowerShell https://aka.ms/pscore6加载个人及系统配置文件用了 1017 毫秒。
(base) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq\news> conda activate ssd4pytorch1_2_0
(ssd4pytorch1_2_0) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq\news> & 'D:\Anaconda3\envs\ssd4pytorch1_2_0\python.exe' 'c:\Users\chenxuqi\.vscode\extensions\ms-python.python-2020.12.424452561\pythonFiles\lib\python\debugpy\launcher' '53058' '--' 'c:\Users\chenxuqi\Desktop\News4cxq\test4cxq\news\test15.py'
label_size: (165, 29)
(ssd4pytorch1_2_0) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq\news>
运行结果截图:
程序原图:
源代码及相关文件下载地址链接: 【2020年最后一天致敬科比】PIL库用于目标检测.zip
【2020年最后一天致敬科比】PIL库用于目标检测相关推荐
- MatrixNets:可替代FPN,用于目标检测的可感知比例和长宽比的网络结构
译者 | 刘畅 出品 | AI科技大本营(ID:rgznai100) 本文介绍了一种新的网络MatrixNets(xNets),它是新的用于目标检测的深层结构.xNets将具有相似大小和高宽比的目标映 ...
- Mask R-CNN用于目标检测和分割代码实现
Mask R-CNN用于目标检测和分割代码实现 Mask R-CNN for object detection and instance segmentation on Keras and Tenso ...
- 何恺明大神新作:一种用于目标检测的主流ViT架构,效果SOTA
链接:https://arxiv.org/abs/2203.16527 作者单位:Facebook AI Research 1导读 3月30日,何恺明大神团队在ArXiv上发布了最新研究工作,该工作主 ...
- maskrcnn用于目标检测_用于目标检测的池化渐进网络(Pooling Pyramid Network)
用于目标检测的池化渐进网络(Pooling Pyramid Network) 题目: Pooling Pyramid Network for Object Detection 作者: Pengchon ...
- 【论文解读】CVPR 2021 | 旷视提出GID:用于目标检测的通用实例蒸馏
本文提出一种用于目标检测的知识蒸馏新方法:General Instance Distillation,GID,可应用于各种检测框架中,使得学生模型显著提高AP的性能,甚至优于Teacher模型! 作者 ...
- python解析xml+得到pascal voc xml格式用于目标检测+美化xml
1.python解析xml img_path='./data/001.tif'xml_path='./xml/001.xml'img=cv2.imread(img_path)# cv2.imshow( ...
- MoCo不适用于目标检测?MSRA提出对象级对比学习的目标检测预训练方法SoCo!性能SOTA!(NeurIPS 2021)...
关注公众号,发现CV技术之美 本文分享 NeurIPS 2021 论文『Aligning Pretraining for Detection via Object-Level Contrastive ...
- DyFPN:浙大华为诺亚西湖大学等提出用于目标检测的动态特征金字塔,减少40%的FLOPs!...
关注公众号,发现CV技术之美 ▊ 写在前面 特征金字塔网络(FPN)是目标检测框架的重要组成部分.大多数现有FPN变体的性能提高主要归因于计算负担的增加.增强FPN的一种方法是通过扩展感受野来丰富空间 ...
- 带你读AI论文丨用于目标检测的高斯检测框与ProbIoU
摘要:本文解读了<Gaussian Bounding Boxes and Probabilistic Intersection-over-Union for Object Detection&g ...
最新文章
- mysql相关操作(一)
- log4j的使用 与 父接口 slf4j 门面模式(外观模式)
- Coursera课程Python for everyone:Quiz: Many-to-Many Relationships and Python
- nyoj123士兵杀敌4-树状数组-改区间查点
- python输入input数组_Python学习——实现简单的交互raw_input的使用
- 堆积柱形图显示总数_送你一份堆积柱形图小点心,请收下~
- getconnection java_在MyEclipse用java写的一个GetConnection1.java,用于连接MySQL,却总是出错。(没有财富值了,见谅!)...
- 关于Excel中的F2键(知道了,会对Excel的操作非常方便)。
- MySQL数据库设置主从同步
- PHP程序的常见漏洞攻击分析
- @ab测试工具使用详解
- bugku秋名山老司机之使用requsets解题
- 真的有必要定义VO,BO,PO,DO,DTO吗?
- [c++]c++程序设计-Y.Daniel.Liang 笔记
- altiumDesigner中文改成英文操作过程。
- 学生上课签到系统开发总结
- python SQL语句 占位符
- MySQL中sum和count用法总结
- 网络技术基础测试(一)
- Common Lisp Style Guide - Ariel Networks Labs