python PIL图像处理-图片上添加文字

首先需要安装库pillow

cmd安装命令:pip install pillow

安装完后,编写脚本如下:

from PIL import Image, ImageDraw, ImageFont

def gen_img(size=None):
    if size is None:
        size = 400
        #生成大小为400x400RGBA是四通道图像,RGB表示R,G,B三通道,A表示Alpha的色彩空間
    image = Image.new(mode='RGBA', size=(400, 400), color=(255, 55, 55))
    # ImageDraw.Draw 简单平面绘图
    draw_table = ImageDraw.Draw(im=image)
    # 直接显示图片
    image.show()

def pic_open(filepath):
    #图片打开与显示
    image = Image.open(filepath)
    return image
        
def get_size(image):
    #获取图像的宽和高
    width, height = image.size
    return width,heitht

def pic_text(filepath,size,text,setFont,fillColor,filename,direction=None):
    print(filepath,size,text,setFont,fillColor)
    #打开图片
    image=pic_open(filepath)
    #新建绘图对象
    draw = ImageDraw.Draw(image)
    #显示图片
    image.show()
    draw.text((40,40),text,font=setFont,fill=fillColor,direction=None)
    image.show()
    #保存
    pic_save(image,filename)
    
def pic_save(image,filename):
    #保存
    image.save(filename)    
        

if __name__=="__main__":

    size=None
    #gen_img()
        
    #** ImageFont模块**
    #选择文字字体和大小
    setFont = ImageFont.truetype('C:/windows/fonts/Dengl.ttf', 20)
    #设置文字颜色
    fillColor = "#0000ff"   #蓝色
    text="兔子等着瞧"
    size=(40,40)
    filepath="F:/temp/red.png"
    filename="F:/temp/redsave.png"

    #打开图片
    image=pic_open(filepath)
    #添加文字
    pic_text(filepath,size,text,setFont,fillColor,filename,direction=None)
    

    

 首先是打开一个图片

添加文字后图片

 

转载于:https://www.cnblogs.com/lisa2016/p/10691537.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Python 中实现图像上的文字扭曲变形,可以使用 PythonPillow 库和 OpenCV 库。下面是一个简单的示例代码,可以帮助您实现这个功能: ```python from PIL import Image, ImageDraw, ImageFont, ImageFilter import cv2 import numpy as np # 创建图片对象 img = Image.new('RGB', (500, 500), (255, 255, 255)) # 创建绘图对象 draw = ImageDraw.Draw(img) # 设置字体样式 font = ImageFont.truetype('arial.ttf', 50) # 绘制文字 draw.text((100, 200), 'Hello World', font=font, fill=(0, 0, 0)) # 转换为 OpenCV 格式 img_cv2 = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR) # 图像扭曲 rows, cols, _ = img_cv2.shape pts1 = np.float32([[100, 200], [200, 200], [100, 300]]) pts2 = np.float32([[120, 220], [220, 180], [120, 320]]) M = cv2.getAffineTransform(pts1, pts2) img_warp = cv2.warpAffine(img_cv2, M, (cols, rows)) # 转换为 Pillow 格式 img_warp = Image.fromarray(cv2.cvtColor(img_warp, cv2.COLOR_BGR2RGB)) # 添加模糊效果 img_warp = img_warp.filter(ImageFilter.GaussianBlur(radius=2)) # 显示图片 img_warp.show() ``` 在上面的代码中,我们首先使用 Pillow 库创建了一个白色背景的图片,并在上面绘制了黑色的文字。然后,我们将图片转换为 OpenCV 格式,并使用 getAffineTransform() 方法计算出扭曲变形的矩阵 M。最后,我们使用 warpAffine() 方法对图像进行扭曲变形,并将结果转换为 Pillow 格式。为了使效果更真实,我们还添加了一个高斯模糊的滤镜效果。 您可以根据需要修改代码中的参数,以达到不同的扭曲变形效果。同时,您也可以使用更高级的图像处理库,比如 Scikit-image 等,来实现更复杂的扭曲效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值