参考:
1.https://stackoverflow.com/questions/18942605/how-to-use-unicode-characters-with-pil
2.PIL转换为OpenCV图片格式:
https://stackoverflow.com/questions/14134892/convert-image-from-pil-to-opencv-format
pil_image = PIL.Image.open('Image.jpg').convert('RGB')
open_cv_image = numpy.array(pil_image)
3.OpenCV中的图片转换为PIL格式:
import Image, cv2
cap = cv2.VideoCapture(0) # says we capture an image from a webcam
cv2_im = cap.read()
cv2_im = cv2.cvtColor(cv2_im,cv2.COLOR_BGR2RGB)
pil_im = Image.fromarray(cv2_im)
pil_im.show()
接下来有个例程,功能:在使用OpenCV读入的图片上输入西里尔文字符:
#!/usr/bin/env python # -*- coding: utf_8 -*- from PIL import Image, ImageDraw, ImageFont import cv2 img = cv2.imread('/home/fuxueping/PycharmProjects/Car_Plate/IMG_1877.JPG') size = img.shape h1 = size[0] w1 = size[1] specialLetter = [('11' , u'A'), ('14' , u'Г'),('15' , u'Д'),('24',u'O')] pimg = Image.fromarray(img) # pimg is a PIL image unicode_font = ImageFont.truetype("DejaVuSans.ttf", 100) font_color = (255, 255, 255) draw = ImageDraw.Draw(pimg) for i in range(4): draw.text((1 + i * 200, h1 - 300), specialLetter[i][1], font=unicode_font,fill=font_color) pimg.save("text.jpg")