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 相关文章推荐
django通过ajax发起请求返回JSON格式数据的方法
Jun 04 Python
理解Python垃圾回收机制
Feb 12 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
Mar 19 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
python实现txt文件格式转换为arff格式
May 31 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
pandas DataFrame 交集并集补集的实现
Jun 24 Python
Python实现图像去噪方式(中值去噪和均值去噪)
Dec 18 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
Feb 23 Python
python实现图片素描效果
Sep 26 Python
Django contrib auth authenticate函数源码解析
Nov 12 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
ASP知识讲座四
2006/10/09 PHP
利用js调用后台php进行数据处理原码
2006/10/09 PHP
支持oicq头像的留言簿(二)
2006/10/09 PHP
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
javascript实现弹出层效果
2019/12/10 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
python 全局变量的import机制介绍
2017/09/07 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
python正则表达式之对号入座篇
2018/07/24 Python
详解Python正则表达式re模块
2019/03/19 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
人工神经网络算法知识点总结
2019/06/11 Python
Django model select的多种用法详解
2019/07/16 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
会议活动邀请函
2014/01/27 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
白血病捐款倡议书
2014/05/14 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python