日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

营业执照数据生成

發(fā)布時(shí)間:2023/12/31 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 营业执照数据生成 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
import pandas as pd from PIL import Image from PIL import ImageFilter from PIL import ImageEnhance import cv2 from PIL import ImageDraw, ImageFont from PIL._imaging import fontimport csv import codecs #兩個(gè)函數(shù)用于保存需要的坐標(biāo)點(diǎn) # def save_to(path,name): # # file_csv =open(path,"a+",newline='',encoding="utf-8") # file_csv = codecs.open(path, 'a+', 'utf-8') # 追加 # # writer=csv.writer(file_csv) # writer = csv.writer(file_csv, delimiter=',', quotechar=',', quoting=csv.QUOTE_MINIMAL) # for data in name: # writer.writerow(data)def save_to(name,data):f = open(name,"a+",newline='',encoding='utf-8')csv_writer = csv.writer(f)csv_writer.writerow(data)f.close()data=pd.read_csv('E:\qichacha\data\qichacha.csv',encoding='gbk') #字體大小 fnt = ImageFont.truetype(r'E:\qichacha\gen_data\WeiRuanYaHei-1.ttf', 18) fnt2 = ImageFont.truetype(r'E:\qichacha\gen_data\WeiRuanYaHei-1.ttf', 22) fnt3 = ImageFont.truetype(r'E:\qichacha\gen_data\WeiRuanYaHei-1.ttf', 24) fnt4 = ImageFont.truetype(r'E:\qichacha\gen_data\WeiRuanYaHei-1.ttf', 20) # 按下列方式計(jì)算其余坐標(biāo) # [寬,高,寬+w,高,寬,高+h,寬+w,高+h] for i in range(0,len(data)-1):im = Image.open('E:\qichacha\gen_data\model.jpg')draw = ImageDraw.Draw(im)#draw.text(左上坐標(biāo), 書寫內(nèi)容, fill='顏色', font=字體)draw.text((637, 566), data.iloc[i]['信用代碼'], fill='black', font=fnt) # 信用代碼w, h = fnt.getsize(data.iloc[i]['信用代碼'])# [寬,高,寬+w,高,寬,高+h,寬+w,高+h]a=[637,566,637+w,566,637,566+h,637+w,566+h,data.iloc[i]['信用代碼']]#保存兩種格式為后面使用方便save_to("E:\qichacha\data\zuobiao\\txt\{}.txt".format(i), a)save_to("E:\qichacha\data\zuobiao\\csv\{}.csv".format(i), a)loc1 = len(data.iloc[i]['登記機(jī)關(guān)'])for k in range(0,int(loc1/8)+1):#字體超過8個(gè)字,就換行try:draw.text((660, 1222+k*30), data.iloc[i]['登記機(jī)關(guān)'][k*8:k*8+8], fill='black', font=fnt3) # 登記機(jī)關(guān)w, h = fnt3.getsize(data.iloc[i]['登記機(jī)關(guān)'][k*8:k*8+8])# [寬,高,寬+w,高,寬,高+h,寬+w,高+h]a = [660,1222+(k*30),660+w,1222+(k*30),660, 1222+(k*30)+h, 660+w,1222+(k*30)+h,data.iloc[i]['登記機(jī)關(guān)'][k*8:k*8+8]]save_to("E:\qichacha\data\zuobiao\\txt\{}.txt".format(i), a)save_to("E:\qichacha\data\zuobiao\\csv\{}.csv".format(i), a)except:passif k==4:#超過5行就不顯示,可以調(diào)整breakloc2 = len(data.iloc[i]['注冊地址'])for j,m in enumerate(['企業(yè)名稱','類型','注冊地址','法定代表人','注冊資本','成立日期','營業(yè)期限']):# print(m)if m=="注冊地址":#防止字?jǐn)?shù)超過圖片本身draw.text((330, 635 + j * 40), data.iloc[i][m][0:30], fill='black', font=fnt2)w, h = fnt2.getsize(data.iloc[i][m][0:30])# [寬,高,寬+w,高,寬,高+h,寬+w,高+h]a = [330, 635 + (j * 40), 330 + w, 635 + (j * 40), 330, 635 + (j * 40) + h, 330 + w, 635 + (j * 40) + h,data.iloc[i][m]]save_to("E:\qichacha\data\zuobiao\\txt\{}.txt".format(i), a)save_to("E:\qichacha\data\zuobiao\\csv\{}.csv".format(i), a)else:draw.text((330, 635+j*40),data.iloc[i][m], fill='black', font=fnt2) # 企業(yè)名稱,類型,注冊地址,法定代表人,注冊資本,成立日期,營業(yè)期限w, h = fnt2.getsize(data.iloc[i][m])# [寬,高,寬+w,高,寬,高+h,寬+w,高+h]a = [330, 635+(j*40), 330 + w, 635+(j*40), 330, 635 + (j*40) + h, 330 + w, 635 + (j*40)+ h,data.iloc[i][m]]save_to("E:\qichacha\data\zuobiao\\txt\{}.txt".format(i), a)save_to("E:\qichacha\data\zuobiao\\csv\{}.csv".format(i), a)loc = len(data.iloc[i]['經(jīng)營范圍'])for n in range(0,int(loc/30)+1):try:draw.text((330, 920 +n*30),data.iloc[i]['經(jīng)營范圍'][n*30:n*30+30], fill='black', font=fnt4) # 經(jīng)營范圍w, h = fnt4.getsize(data.iloc[i]['經(jīng)營范圍'][n*30:n*30+30])# [寬,高,寬+w,高,寬,高+h,寬+w,高+h]a = [330, 920 +(n*30), 330 + w, 920 +(n*30), 330, 920 + (n*30) + h, 330 + w, 920 + (n*30) + h,data.iloc[i]['經(jīng)營范圍'][n * 30:n * 30 + 30]]save_to("E:\qichacha\data\zuobiao\\txt\{}.txt".format(i), a)save_to("E:\qichacha\data\zuobiao\\csv\{}.csv".format(i), a)except:passif n==5:draw.text((330, 920 + (n+1) * 30), u'.............', fill='black', font=fnt4)#多余6行就寫省略號w, h = fnt4.getsize(".............")a = [330, 920 +((n+1)*30), 330 + w, 920 + ((n+1)*30), 330, 920 + ((n+1)*30)+ h, 330 + w, 920 + ((n+1)*30) + h,"............."]save_to("E:\qichacha\data\zuobiao\\txt\{}.txt".format(i), a)save_to("E:\qichacha\data\zuobiao\\csv\{}.csv".format(i), a)breakprint("成功--{}".format(data.iloc[i]['企業(yè)名稱']))im.save('E:\qichacha\img\yingye\{}.jpg'.format(data.loc[i]['信用代碼']))#保存import os import cv2 import numpy as np n=0 a=0 #圖片的融合。保存用循環(huán)數(shù)字。 path = r"E:\qichacha\background" path1=r"E:\qichacha\img\yingye" for i in os.listdir(path):#生成的營業(yè)執(zhí)照路徑back = os.path.join(path, i)image = cv2.imread(back)k = 0for j in os.listdir(path1):#營業(yè)執(zhí)照back1= os.path.join(path1, j)logo = cv2.imread(back1)# num = (logo.width, logo.height)height, width = logo.shape[0:2]#獲取寬高#圖片按寬高縮放cv2.resize(圖片, 縮放大小)image_1=cv2.resize(image, (width, height))logo_1=cv2.resize(logo, (width, height))#融合圖片cv2.addWeighted(主圖、背景圖, 權(quán)重, 輔圖, 權(quán)重, 0)image_copy = cv2.addWeighted(logo_1, 0.8, image_1, 0.2, 0)cv2.imwrite("E:\qichacha\img\\beijing\{}.jpg".format(a), image_copy)# cv2.waitKey(0)# cv2.destroyAllWindows()print("成功--{}{}".format(data.iloc[k]['企業(yè)名稱'],n))k += 1a+=1n+=1 #保存圖片,用信用代碼,前面加0,1,2區(qū)分不同的噪聲 # n=0 # path = r"E:\qichacha\background" # path1=r"E:\qichacha\img\yingye" # for i in os.listdir(path):#背景圖 # back = os.path.join(path, i) # image = cv2.imread(back) # k = 0 # for j in os.listdir(path1):#營業(yè)執(zhí)照 # back1= os.path.join(path1, j) # logo = cv2.imread(back1) # # num = (logo.width, logo.height) # height, width = logo.shape[0:2] # image_1=cv2.resize(image, (width, height)) # logo_1=cv2.resize(logo, (width, height)) # image_copy = cv2.addWeighted(logo_1, 0.6, image_1, 0.4, 0) # cv2.imencode('.jpg', image_copy)[1].tofile("E:\qichacha\img\\beijing\{}{}".format(n,j)) # cv2.waitKey(0) # cv2.destroyAllWindows() # print("成功--{}{}".format(n,j)) # k += 1 # n+=1#單張圖片的融合 # image=cv2.imread(r'E:\qichacha\background\\1.jpg')#背景圖 # logo = cv2.imread(r'E:\qichacha\img\yingye\\91110000MA00GXCN9M.jpg')#生成的營業(yè)執(zhí)照 # # 圖像融合 # height,width=logo.shape[0:2] # # print(width,height) # # a=cv2.resize(image, (width, height)) # image_1=cv2.resize(image, (width, height)) # logo_1=cv2.resize(logo, (width, height)) # combine = cv2.addWeighted(logo_1, 0.9, image_1, 0.1,0) # cv2.imshow('s',combine) # cv2.waitKey(0) # cv2.destroyAllWindows() # cv2.imwrite("E:\qichacha\img\\beijing\j2.jpg", combine)#保存英文名字 # cv2.imencode('.jpg', image_copy)[1].tofile("E:\qichacha\img\\beijing\{}{}.jpg".format(data.iloc[k]['企業(yè)名稱'], n))#保存中文名#單張營業(yè)執(zhí)照的生成 # im = Image.open('E:\qichacha\gen_data\model.jpg') # draw = ImageDraw.Draw(im) # draw.text((330,633), data.iloc[118,1], fill='black', font=fnt2)#企業(yè)名稱 # w, h = fnt2.getsize(data.iloc[118,1])#寬高 # print(w,h) # draw.text((330,675), data.iloc[118,6], fill='black', font=fnt2)#企業(yè)類型 # draw.text((330,715), data.iloc[118,9], fill='black', font=fnt2)#注冊地址 # draw.text((330,755), data.iloc[118,2], fill='black', font=fnt2)#法定代表人 # draw.text((330,800), data.iloc[118,4], fill='black', font=fnt2)#注冊資本 # draw.text((330,840), data.iloc[118,3], fill='black', font=fnt2)#成立日期 # draw.text((330,880), data.iloc[118,7], fill='black', font=fnt2)#營業(yè)期限# loc=len(data.iloc[118,10]) # for i in range(0,int(loc/30)): # try: # draw.text((330,920+i*30), data.iloc[117,10][i*30:i*30+31], fill='black', font=fnt4)#經(jīng)營范圍 # except: # pass # if i==5: # draw.text((330, 920 + (i+1) * 30), u'.............', fill='black', font=fnt4) # break # # draw.text((637,566), data.iloc[118,0], fill='black', font=fnt)#信用代碼 # draw.text((650,1222), data.iloc[118,8], fill='black', font=fnt3)#登記機(jī)關(guān) # im.show()# image=Image.open(r'E:\qichacha\background\1.jpg')#背景圖 # logo = Image.open(r'E:\qichacha\img\營業(yè)執(zhí)照\安徽淘寶村實(shí)業(yè)集團(tuán)有限公司.jpg')#生成的營業(yè)執(zhí)照 # num=(image.width,image.height) # logo.thumbnail(num)#縮小營業(yè)執(zhí)照,背景圖大小 # image_copy=image.copy()#復(fù)制圖像背景圖 # x = int(random.randint(0, (image_copy.width- logo.width)+ 1))#隨機(jī)生成背景圖和營業(yè)執(zhí)照寬的差值之間的數(shù)值 # y= int(random.randint(0, (image_copy.height - logo.height) + 1))#隨機(jī)生成背景圖和營業(yè)執(zhí)照高的差值之間的數(shù)值 # image_copy.paste(logo,(x,y)) #將營業(yè)執(zhí)照放到指定粘貼位置(左上角坐標(biāo)) # resize(temImage, dstImage2, Size(temImage.cols * 2, temImage.rows * 2), 0, 0, INTER_LINEAR) # plt.imshow(image_copy) # plt.show() # image_copy.save('E:\qichacha\img\背景營業(yè)執(zhí)照\j2.jpg')#保存
數(shù)據(jù):csv文件:https://download.csdn.net/download/yangzheng_520/21979543

模板:https://download.csdn.net/download/yangzheng_520/21979571

不行的按照前面文章自己爬取

關(guān)注一下,謝謝

總結(jié)

以上是生活随笔為你收集整理的营业执照数据生成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。