python 图片打印文章总结

目录

1.pil部分:

2.opencv部分:


本文列出pil和opencv打印文字的方法:

1.pil部分:

安装方法:

pip install pil

会报错。

正确方法是:

pip install pillow
# 绘制文本
font = ImageFont.truetype("consola.ttf", 40, encoding="unic"  )  # 设置字体
draw.text((200, 50), u'Hello World', 'fuchsia', font)
#坐标参数:第一个是x,第二是y

# -*- coding: UTF-8 -*-

import numpy as np
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont


def draw_test():

    # 生成深蓝色绘图画布
    array = np.ndarray((480, 640, 3), np.uint8)

    array[:, :, 0] = 0
    array[:, :, 1] = 0
    array[:, :, 2] = 100

    image = Image.fromarray(array)

    # # 创建绘制对象
    draw = ImageDraw.Draw(image)
    #
    # # 绘制直线
    # draw.line((20, 20, 150, 150), 'cyan')
    #
    # # 绘制矩形
    # draw.rectangle((100, 200, 300, 400), 'black', 'red')
    #
    # # 绘制弧
    # draw.arc((100, 200, 300, 400), 0, 180, 'yellow')
    # draw.arc((100, 200, 300, 400), -90, 0, 'green')
    #
    # # 绘制弦
    # draw.chord((350, 50, 500, 200), 0, 120, 'khaki', 'orange')
    #
    # # 绘制圆饼图
    # draw.pieslice((350, 50, 500, 200), -150, -30, 'pink', 'crimson')
    #
    # # 绘制椭圆
    # draw.ellipse((350, 300, 500, 400), 'yellowgreen', 'wheat')
    # # 外切矩形为正方形时椭圆即为圆
    # draw.ellipse((550, 50, 600, 100), 'seagreen', 'skyblue')
    #
    # # 绘制多边形
    # draw.polygon((150, 180, 200, 180, 250, 120, 230, 90, 130, 100), 'olive', 'hotpink')

    # 绘制文本
    font = ImageFont.truetype("consola.ttf", 40, encoding="unic"  )  # 设置字体
    draw.text((200, 50), u'Hello World', 'fuchsia', font)

    image.show()
if __name__ == '__main__':
    draw_test()

2.opencv部分:

import cv2
 
cap = cv2.VideoCapture('data/zuqiu.mp4')
while cap.isOpened():
    ret, frame = cap.read()
    # 显示文字:图片,文字,位置,字体类型,字体大小,字体颜色,字体粗细
    cv2.putText(frame, "foot ball", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
    cv2.imshow('frame', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
 
cap.release()
cv2.destroyAllWindows()

cv2.putText(img, str(i), (123,456)), font, 2, (0,255,0), 3)

各参数依次是:图片,添加的文字,左上角坐标,字体,字体大小,颜色,字体粗细

其中字体可以选择

FONT_HERSHEY_SIMPLEX

Python: cv.FONT_HERSHEY_SIMPLEX

normal size sans-serif font

FONT_HERSHEY_PLAIN

Python: cv.FONT_HERSHEY_PLAIN

small size sans-serif font

FONT_HERSHEY_DUPLEX

Python: cv.FONT_HERSHEY_DUPLEX

normal size sans-serif font (more complex than FONT_HERSHEY_SIMPLEX)

FONT_HERSHEY_COMPLEX

Python: cv.FONT_HERSHEY_COMPLEX

normal size serif font

FONT_HERSHEY_TRIPLEX

Python: cv.FONT_HERSHEY_TRIPLEX

normal size serif font (more complex than FONT_HERSHEY_COMPLEX)

FONT_HERSHEY_COMPLEX_SMALL

Python: cv.FONT_HERSHEY_COMPLEX_SMALL

smaller version of FONT_HERSHEY_COMPLEX

FONT_HERSHEY_SCRIPT_SIMPLEX

Python: cv.FONT_HERSHEY_SCRIPT_SIMPLEX

hand-writing style font

FONT_HERSHEY_SCRIPT_COMPLEX

Python: cv.FONT_HERSHEY_SCRIPT_COMPLEX

more complex variant of FONT_HERSHEY_SCRIPT_SIMPLEX

FONT_ITALIC

Python: cv.FONT_ITALIC

flag for italic font

字体大小,数值越大,字体越大

字体粗细,越大越粗,数值表示描绘的线条占有的直径像素个数
————————————————
版权声明:本文为CSDN博主「AI专家」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42039090/article/details/80679935

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值