我使用Python 3.3,并且我已经从下面的链接安装了aspell PIL(只需执行下载的文件.exe,不需要任何设置?),不幸的是,我导入的PIL是错误未解析的PIL。为什么?
http://www.lfd.uci.edu/~gohlke/pythonlibs/
import PIL
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
font = ImageFont.truetype("C:/arial.ttf",25)
img=Image.new("RGBA", (200,200),(120,20,20))
draw = ImageDraw.Draw(img)
draw.text((0, 0),"This is a test",(255,255,0),font=font)
draw = ImageDraw.Draw(img)
draw = ImageDraw.Draw(img)
img.save("a_test.png")
或者在不使用PIL在图像上绘制文本的情况下有什么想法?
Pillow是Python Imaging Library的延续,该库已更新为可与Python 3一起使用。这应该可以解决您尚未解决的PIL问题。
在最近的Python中,还有其他在图像上绘制文本的选项:
- Pygame是一个SDL1.2包装器,自Pygame 1.9.2以来支持Python3
- Wand是一个基于ctypes的ImageMagick包装器
- gdmodule封装了GD,但它的安装程序似乎只是Linux。它在Windows下对你没有帮助(参见
"C:/arial.ttf"
),但它可能会帮助其他有同样问题的人
因为它还没有发布3.3版本。
"目前的免费版本是PIL 1.1.7。此版本支持Python 1.5.2及更新版本,包括2.5和2.6。稍后将发布3.X版本。"-摘自PIL主页。
如果您想使用PIL,请使用Python 2.6。Python的3.X版本对Python做了一些更改,因此它不能完全向后兼容。
我建议您使用旧版本的Python,而不是3.X,除非您有充分的理由使用3.X。
使用opencv
import cv2
font = cv2.FONT_HERSHEY_SIMPLEX
orgin = (50, 50)
fontScale = 1
color = (255, 0, 0)
thickness = 2
使用cv2.putText()方法
image = cv2.putText(image, 'OpenCV', org, font, fontScale, color, thickness, cv2.LINE_AA)