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中的__new__与__init__魔术方法理解笔记
Nov 08 Python
Python NumPy库安装使用笔记
May 18 Python
详解Python在七牛云平台的应用(一)
Dec 05 Python
python利用微信公众号实现报警功能
Jun 10 Python
浅谈python函数调用返回两个或多个变量的方法
Jan 23 Python
Python 实现数组相减示例
Dec 27 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
python 日志模块 日志等级设置失效的解决方案
May 26 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 Python
什么是Python装饰器?如何定义和使用?
Apr 11 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
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
PHP之COOKIE支持详解
2010/09/20 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
JQuery的attr 与 val区别
2016/06/12 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
2017/11/13 jQuery
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
Python格式化css文件的方法
2015/03/10 Python
10个易被忽视但应掌握的Python基本用法
2015/04/01 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
Python目录和文件处理总结详解
2019/09/02 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
Python之Sklearn使用入门教程
2021/02/19 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
英国HYPE双肩包官网:英国本土时尚潮牌
2018/09/26 全球购物
C语言中break与continue的区别
2012/07/12 面试题
企业道德讲堂实施方案
2014/03/19 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL