Python:任何不使用PIL在图像上绘制文本的想法



我使用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) 

相关内容

  • 没有找到相关文章

最新更新