【已解决】attributeerror: ‘FreeTypeFont‘ object has no attribute ‘getsize‘

简介: 【已解决】attributeerror: ‘FreeTypeFont‘ object has no attribute ‘getsize‘

问题

报错:attributeerror: ‘FreeTypeFont’ object has no attribute ‘getsize’

运行yolo代码时,出现如下面的报错

原因分析

看过很多博客分析,都是说FreeTypeFont 字体的原因,其实真实问题出现yolo版本安装的Pillow库更新后,getsize()方法已经抛弃使用了,而你拉下来的代码肯定是github之前的老旧版本

解决方法

解决步骤

如图,之前版本是10.2.0,安装9.5会自动卸载原来版本

很简单,把Pillow库还原回之前的版本就行

pip install Pillow==9.5

关于Pillow库

Pillow 是 Python 中一个非常流行的图像处理库,它是 PIL(Python Imaging Library)的一个分支,PIL 最初由 Fredrik Lundh 在 1997 年创建。Pillow 提供了大量的图像文件格式支持,并且可以用于执行多种图像处理操作。


以下是 Pillow 的一些主要特性:

文件格式支持:Pillow 支持打开和保存许多不同格式的图像文件,包括但不限于 PNG, JPEG, TIFF, BMP, GIF 和 WebP。


图像操作:可以对图像进行多种变换,如缩放、裁剪、旋转、翻转、过滤等。


绘图:可以直接在图像上绘制文本、线条、多边形等图形。


颜色处理:可以处理不同模式的图像,如灰度、RGB、CMYK、HSV 等。


透明度和掩码:支持透明度操作和使用掩码进行复杂的图像合成。


特效:提供多种图像特效,如模糊、锐化、平滑、边缘增强等。


安全处理:Pillow 可以安全地处理文件路径和图像数据,减少安全漏洞的风险。


元数据:可以读取和写入图像文件的元数据。


动画:支持创建和操作 GIF 和其他格式的动画。


易于安装:通过 pip 可以很容易地安装 Pillow。

安装 Pillow 非常简单,你可以使用 pip 命令进行安装:

pip install Pillow

以下是使用 Pillow 打开图像、进行一些基本操作并保存图像的简单示例:

from PIL import Image

# 打开图像文件
img = Image.open("example.jpg")

# 将图像转换为灰度图像
img_gray = img.convert("L")

# 将图像旋转45度
img_rotate = img.rotate(45, expand=True)

# 将图像保存到文件
img_rotate.save("rotated_example.jpg")

# 在图像上绘制文本
draw = ImageDraw.Draw(img)
draw.text((20, 20), "Hello, Pillow!", (255, 255, 255))

# 显示图像
img.show()

Pillow 是图像处理和图形编程中一个非常强大且多用途的工具,它的灵活性和易用性使其成为 Python 图像处理的首选库之一。

相关文章
|
TensorFlow 算法框架/工具 Python
【Tensorflow 2】解决'Tensor' object has no attribute 'numpy'
解决'Tensor' object has no attribute 'numpy'
613 3
|
并行计算 Serverless API
函数计算操作报错合集之出现 "AttributeError: 'NoneType' object has no attribute 'pop'" 错误,是什么原因
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
830 1
|
API C++ Python
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')
363 0
|
TensorFlow API 算法框架/工具
【Tensorflow+keras】解决使用model.load_weights时报错 ‘str‘ object has no attribute ‘decode‘
python 3.6,Tensorflow 2.0,在使用Tensorflow 的keras API,加载权重模型时,报错’str’ object has no attribute ‘decode’
447 0
|
Python
【Python】已解决:(Python xlwt写入Excel报错)AttributeError: ‘function’ object has no attribute ‘font’
【Python】已解决:(Python xlwt写入Excel报错)AttributeError: ‘function’ object has no attribute ‘font’
456 0
|
Python
【Python】已解决:(Python写入Excel表格报错)‘NoneType’ object has no attribute ‘write’
【Python】已解决:(Python写入Excel表格报错)‘NoneType’ object has no attribute ‘write’
1547 0
|
XML 数据格式 Python
【Python】已解决:AttributeError: ‘function’ object has no attribute ‘ELement’
【Python】已解决:AttributeError: ‘function’ object has no attribute ‘ELement’
1029 0
|
API Python
【Python】已解决:AttributeError: ‘TfidfVectorizer’ object has no attribute ‘get_feature_names_out’
【Python】已解决:AttributeError: ‘TfidfVectorizer’ object has no attribute ‘get_feature_names_out’
790 0
|
安全 IDE Java
重学Java基础篇—Java Object类常用方法深度解析
Java中,Object类作为所有类的超类,提供了多个核心方法以支持对象的基本行为。其中,`toString()`用于对象的字符串表示,重写时应包含关键信息;`equals()`与`hashCode()`需成对重写,确保对象等价判断的一致性;`getClass()`用于运行时类型识别;`clone()`实现对象复制,需区分浅拷贝与深拷贝;`wait()/notify()`支持线程协作。此外,`finalize()`已过时,建议使用更安全的资源管理方式。合理运用这些方法,并遵循最佳实践,可提升代码质量与健壮性。
662 1
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
442 8

热门文章

最新文章