對于給圖片打標簽,我們經常使用opencv來,但是在遇到中文成為流行語言的時候,給圖片寫上中文成為一大亮點,
簡介
就例如在車輛屬性、車牌識別的時候,我們經常會使用得到中文,

下面是根據營業執照的模板樣式給它賦予資料(內容)

在這里我們需要設定字體,我們需要選取能夠支持中文的字體,font
單張圖片標注
font = ImageFont.truetype("./simsun.ttc",25)
font_1 = ImageFont.truetype("./simsun.ttc",20)
im1 = Image.open('./model.jpg')
draw = ImageDraw.Draw(im1)
draw.text((345,640),'企業名稱', (0, 0, 0),font=font)#企業名稱
draw.text((345,640+1*40),'企業型別', (0, 0, 0),font=font)#企業型別
draw.text((345,640+2*40),'所屬地區', (0, 0, 0),font=font)#所屬地區
draw.text((345,640+3*40),'法定代表人', (0, 0, 0),font=font)#法定代表人
draw.text((345,640+4*40),'注冊資本', (0, 0, 0),font=font)#注冊資本
draw.text((345,640+5*40),'成立日期', (0, 0, 0),font=font)#成立日期
draw.text((345,640+6*40),'營業期限', (0, 0, 0),font=font)#營業期限
"""
在這里我們由于有的字串太長,我們只能截取前面的資料來展示
"""
len_d = len('經營范圍')#這里是經營范圍的字串
for lo in range(0,int(len_d/30)+1):
try:
draw.text((345,925+lo*33), '經營范圍'[lo*30:lo*30+30], (0, 0, 0), font=font_1)
except:
pass
if lo==7:
break
draw.text((650, 568), '統一社會信用代碼', (0, 0, 0), font=font_1)
結果

完整代碼
from PIL import Image, ImageDraw, ImageFont
import pandas as pd
word_size = 18 # 文字大小
"""
STXINGKA.TTF華文行楷
simkai.ttf 楷體
SIMLI.TTF隸書
"""
font = ImageFont.truetype("./simsun.ttc",25)
font_1 = ImageFont.truetype("./simsun.ttc",20)
data = pd.read_csv('./data_chuli.csv')
for i in range(0,120):
im1 = Image.open('./model.jpg')
draw = ImageDraw.Draw(im1)
strs =data.loc[i]
draw.text((650, 568), strs['統一社會信用代碼'], (0, 0, 0), font=font_1)
for id,_p in enumerate(['企業名稱','企業型別','所屬地區','法定代表人','注冊資本','成立日期','營業期限']):
print(strs[_p])
draw.text((345,640+id*40),strs[_p], (0, 0, 0),font=font)
len_d = len(strs['經營范圍'])
for lo in range(0,int(len_d/30)+1):
try:
draw.text((345,925+lo*33), strs['經營范圍'][lo*30:lo*30+30], (0, 0, 0), font=font_1)
except:
pass
if lo==7:
break
#im1.save('./imgs/{}.jpg'.format(strs['統一社會信用代碼']))
希望這篇文章對你有用!
謝謝點贊評論!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/297152.html
標籤:python
