python 实现PIL模块在图片画线写字


Posted in Python onMay 16, 2020

图片上画线条

import sys
from PIL import Image,ImageDraw

im = Image.open("th.png")
draw = ImageDraw.Draw(im) #实例化一个对象
draw.line((0, 0) + im.size, fill=128, width=5) #线的起点和终点,线宽
draw.line((0, im.size[1], im.size[0], 0), fill=128)
draw.line((0,im.size[1]/2)+(im.size[0]/2,im.size[1]), fill=128, width=5)
im.show()

图片上写字

from PIL import Image, ImageDraw, ImageFont

# get an image
base = Image.open('th.jpg').convert('RGBA')
# make a blank image for the text, initialized to transparent text color
txt = Image.new('RGBA', base.size, (255,255,255,0))
# get a font 需要在C:\Windows\Fonts拷贝一份字体文件 当前脚本路径下
fnt = ImageFont.truetype('cambriai.ttf', 40)
# get a drawing context
d = ImageDraw.Draw(txt)
# draw text, half opacity
d.text((10,10), "Hello", font=fnt, fill=(255,255,255,128))
# draw text, full opacity
d.text((10,60), "World", font=fnt, fill=(255,255,255,255))
fillcolor = "#ff0000"  #字体颜色
d.text((base.size[0]-20,10), "4", font=fnt, fill=fillcolor)
out = Image.alpha_composite(base, txt)
out.show()

参考官方文档 https://pillow.readthedocs.io/en/stable/reference/Image.html

补充知识:python对图像中的人脸进行画框(人脸的位置数据记录在记事本文件中)

我就废话不多说了,大家还是直接看代码吧!

import numpy as py
import os
import cv2 as cv
with open('labelFaceData.txt','r')as fp:#打开记录了数据的记事本文件
  pictureNumber = 0#用来记录照片的数量
  while 1:
    count = 1
    line = fp.readline()#读取文件中每一行的数据
    if not line:#如果读取失败则退出
      break
    pictureNumber+=1#图片数加1
    str1 = line.split()#用一个数组以字符串的形式储存文件中的数据
    img = cv.inread(str[0])#str[0]中存放的是要读取的图片地址,用cv.inread读取它
    faceNumber = (len(str1)-1)/16#用来记录人脸的总数
    for i in reage(faceNumber):#用for循环对人脸进行画框
      x = int(str1[count+1])#x,y,w,h为画框需要的点
      y = int(str1[count+2])
      w = int(str1[count+3])
      h = int(str1[count+4])
      cv.rectangle(img,(x,y),(x+w,y+h),(255,0,0),3,4,0)#用rectangle对图像进行画框
      count+=16
    #cv.namedWindow(str[0],0)
    #cv.imshow(str[0],img);
    #cv.waitKey(0)
    cv.imwrite("./result/image1_"+str(pictureNumber)+".jpg",img)#保存图片
fp.close()

以上这篇python 实现PIL模块在图片画线写字就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python正则匹配抓取豆瓣电影链接和评论代码分享
Dec 27 Python
c++生成dll使用python调用dll的方法
Jan 20 Python
Swift中的协议(protocol)学习教程
Jul 08 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
python验证码识别教程之利用滴水算法分割图片
Jun 05 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
django项目搭建与Session使用详解
Oct 10 Python
flask session组件的使用示例
Dec 25 Python
python之拟合的实现
Jul 19 Python
把django中admin后台界面的英文修改为中文显示的方法
Jul 26 Python
python pillow模块使用方法详解
Aug 30 Python
python 3.7.4 安装 opencv的教程
Oct 10 Python
在python image 中实现安装中文字体
May 16 #Python
Python 判断时间是否在时间区间内的实例
May 16 #Python
解决Python Matplotlib绘图数据点位置错乱问题
May 16 #Python
Python填充任意颜色,不同算法时间差异分析说明
May 16 #Python
解决echarts中饼图标签重叠的问题
May 16 #Python
实现ECharts双Y轴左右刻度线一致的例子
May 16 #Python
在echarts中图例legend和坐标系grid实现左右布局实例
May 16 #Python
You might like
学习php笔记 字符串处理
2010/10/19 PHP
php连接mysql数据库
2017/03/21 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
PHP实现的mongoDB数据库操作类完整实例
2018/04/10 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
javascript 节点遍历函数
2010/03/28 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
JavaScript forEach()遍历函数使用及介绍
2015/07/08 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
树结构之JavaScript
2017/01/24 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
python实现获取序列中最小的几个元素
2014/09/25 Python
Django中几种重定向方法
2015/04/28 Python
Python计算一个文件里字数的方法
2015/06/15 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
python3实现ftp服务功能(客户端)
2017/03/24 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
python写入文件自动换行问题的方法
2019/07/05 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
如何理解python中数字列表
2020/05/29 Python
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
一套VC试题
2015/01/23 面试题
大一新生军训时的自我评价分享
2013/12/05 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
导游词之西安骊山
2019/12/20 职场文书
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
springcloud之Feign超时问题的解决
2021/06/24 Java/Android