溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python如何實(shí)現(xiàn)PIL模塊在圖片畫線寫字

發(fā)布時(shí)間:2020-07-23 17:29:37 來(lái)源:億速云 閱讀:589 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了python如何實(shí)現(xiàn)PIL模塊在圖片畫線寫字,內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來(lái)看看吧。

圖片上畫線條

import sys
from PIL import Image,ImageDraw

im = Image.open("th.png")
draw = ImageDraw.Draw(im) #實(shí)例化一個(gè)對(duì)象
draw.line((0, 0) + im.size, fill=128, width=5) #線的起點(diǎn)和終點(diǎn),線寬
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拷貝一份字體文件 當(dāng)前腳本路徑下
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() 

補(bǔ)充知識(shí):python對(duì)圖像中的人臉進(jìn)行畫框(人臉的位置數(shù)據(jù)記錄在記事本文件中)

我就廢話不多說(shuō)了,大家還是直接看代碼吧!

import numpy as py
import os
import cv2 as cv
with open('labelFaceData.txt','r')as fp:#打開記錄了數(shù)據(jù)的記事本文件
  pictureNumber = 0#用來(lái)記錄照片的數(shù)量
  while 1:
    count = 1
    line = fp.readline()#讀取文件中每一行的數(shù)據(jù)
    if not line:#如果讀取失敗則退出
      break
    pictureNumber+=1#圖片數(shù)加1
    str1 = line.split()#用一個(gè)數(shù)組以字符串的形式儲(chǔ)存文件中的數(shù)據(jù)
    img = cv.inread(str[0])#str[0]中存放的是要讀取的圖片地址,用cv.inread讀取它
    faceNumber = (len(str1)-1)/16#用來(lái)記錄人臉的總數(shù)
    for i in reage(faceNumber):#用for循環(huán)對(duì)人臉進(jìn)行畫框
      x = int(str1[count+1])#x,y,w,h為畫框需要的點(diǎn)
      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對(duì)圖像進(jìn)行畫框
      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()

以上就是關(guān)于python如何實(shí)現(xiàn)PIL模塊在圖片畫線寫字的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI