我正在使用此代码 Link但它显示错误 module object has no attribute 我尝试 pip install freetype 但什么也没发生。谁能指导我解决这个问题。
import cv2
import numpy as np
img = np.zeros((100, 300, 3), dtype=np.uint8)
ft = cv2.freetype.createFreeType2()
ft.loadFontData(fontFileName='Ubuntu-R.ttf',
id=0)
ft.putText(img=img,
text='Quick Fox',
org=(15, 70),
fontHeight=60,
color=(255, 255, 255),
thickness=-1,
line_type=cv2.LINE_AA,
bottomLeftOrigin=True)
cv2.imwrite('image.png', img)
最佳答案
如果 cv2.freetype 不在 python 中运行,您仍然可以使用 freetype-py 模块。
我已经为 python2/3 的 opencv 中的 PIL 库 api 调用编写了一个包装器,可以通过以下方式使用:(从 https://github.com/bunkahle/PILasOPENCV 下载)
from __future__ import print_function
import PILasOPENCV as Image
import PILasOPENCV as ImageDraw
import PILasOPENCV as ImageFont
import cv2
font = ImageFont.truetype("arial.ttf", 30)
print(font)
im = Image.new("RGB", (512, 512), "grey")
draw = ImageDraw.Draw(im)
text = "Some text in arial"
draw.text((100, 250), text, font=font, fill=(0, 0, 0))
print(ImageFont.getsize(text, font))
mask = ImageFont.getmask(text, font)
print(type(mask))
cv2.imshow("mask", mask)
im.show()
im_numpy = im.getim()
print(type(im_numpy), im_numpy.shape, im_numpy.dtype)
它在后台使用 freetype-py 模块。 PILasOPENCV 实际上是一个将旧的 PIL 项目迁移到 OPENCV 的项目。安装
setup.py install
或
pip install PILasOPENCV
更多细节和测试可以在github中找到。
关于python - 错误 'module' 对象没有属性 'freetype',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47726854/