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读取文件的四种不同方法比对
May 18 Python
Python使用SQLite和Excel操作进行数据分析
Jan 20 Python
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 Python
python写入并获取剪切板内容的实例
May 31 Python
python 字典修改键(key)的几种方法
Aug 10 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
python2与python3的print及字符串格式化小结
Nov 30 Python
python 产生token及token验证的方法
Dec 26 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
Feb 14 Python
关于Python字符串显示u...的解决方式
Mar 06 Python
Python如何优雅删除字符列表空字符及None元素
Jun 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
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
js arguments.callee的应用代码
2009/05/07 Javascript
google 搜索框添加关键字实现代码
2010/04/24 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
jquery控制页面部分刷新的方法
2015/06/24 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python3人脸识别的两种方法
2019/04/25 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
Python中实现输入一个整数的案例
2020/05/03 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
世界上最大的二手相机店:KEN
2017/05/17 全球购物
个人作风剖析材料
2014/02/02 职场文书
少儿节目主持串词
2014/04/02 职场文书
白鹤梁导游词
2015/02/06 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书