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求两个list的差集、交集与并集的方法
Nov 01 Python
Python脚本实现集群检测和管理功能
Mar 06 Python
在Python中进行自动化单元测试的教程
Apr 15 Python
python 基础教程之Map使用方法
Jan 17 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
ubuntu安装sublime3并配置python3环境的方法
Mar 15 Python
Pandas 合并多个Dataframe(merge,concat)的方法
Jun 08 Python
Flask框架各种常见装饰器示例
Jul 17 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
Apr 13 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
Mar 25 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会话(Session)实现用户登陆功能
2013/06/29 PHP
php格式化金额函数分享
2015/02/02 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
thinkphp验证码的实现(form、ajax实现验证)
2016/07/28 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
js以对象为索引的关联数组
2010/07/04 Javascript
理解Javascript_09_Function与Object
2010/10/16 Javascript
Javascript中的isNaN函数使用说明
2011/11/10 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
python 元组和列表的区别
2020/12/30 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
卡骆驰新加坡官网:Crocs新加坡
2018/06/12 全球购物
Java基础知识面试要点
2016/07/29 面试题
师范生实习自我鉴定
2013/11/01 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
百日安全生产活动总结
2014/07/05 职场文书
军事博物馆观后感
2015/06/05 职场文书