随笔 - 633,  文章 - 0,  评论 - 13,  阅读 - 48万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
复制代码
import glob
import os
from PIL import Image,ImageDraw,ImageFont
import cv2

from PIL import Image, ImageFont, ImageDraw

import numpy as np

#读取图片并写入文字
def wirte_text_to_pic(text,pic_path):
    img = Image.open(pic_path)
    w,h = img.size

    draw = ImageDraw.Draw(img)
    font = ImageFont.truetype('georgia.ttf',size=20,encoding="utf-8")
    txtW,txtH = draw.textsize(text,font=font)
    draw.text((w-txtW-5,h-txtH-2),text=text,fill=(20,200,100,166),font=font)
    savename = pic_path
    img.save(savename)

#读取图片并写入文字
def wirte_text_to_pic_two(text,pic_path):
    print("text:")
    print(text)
    print("pic_path")
    print(pic_path)
    img1 = cv2.imread(pic_path, cv2.IMREAD_COLOR)

    pil_image = Image.fromarray(cv2.cvtColor(img1, cv2.COLOR_BGR2RGB))
    w,h = pil_image.size

    font = ImageFont.truetype('simhei.ttf', 50, encoding="utf-8")

    color = (255, 10, 255)

    pos = (w/8, h/4*3)

    text = text

    draw = ImageDraw.Draw(pil_image)

    draw.text(pos, text, font=font, fill=color)

    cv_img = cv2.cvtColor(np.asarray(pil_image), cv2.COLOR_RGB2BGR)

    # cv2.imshow(pic_path, cv_img)  #xianshi

    cv2.waitKey(0)
    cv2.imwrite(pic_path,cv_img)  #保存图片


#获取所有文件
def get_file_name(file_dir):
    li = []
    for root, dirs, files in os.walk(file_dir):
        print("files:")
        print(files)
        for file in files:
            if os.path.splitext(file)[1] == '.jpg':
                li.append(os.path.join(root, file))
    print("li:")
    print(li)
    return li

#读取english.txt文件
with open("D:\PycharmProjects\cigenpic\english.txt",encoding="utf-8",mode='r') as f:
    cigen_list = f.readlines()
    print(cigen_list)


#读取picture文件
WSI_MASK_PATH = 'D:\PycharmProjects\cigenpic\picture'#存放图片的文件夹路径
print(os.path.join(WSI_MASK_PATH, '*.jpg'))
wsi_mask_paths_list = glob.glob(os.path.join(WSI_MASK_PATH, '*.jpg'))
print(wsi_mask_paths_list)
wsi_mask_paths_list.sort()
print(wsi_mask_paths_list)

def read_file(file_name):
    with open("D:\PycharmProjects\cigenpic\english.txt", encoding="utf-8", mode='r') as f:
        cigen_list = f.readlines()
        print("cigen_list:")
        print(cigen_list)
        cigen_list_len = len(cigen_list)
        return cigen_list


def get_all_pic_path(WSI_MASK_PATH):
    # 读取picture文件
    WSI_MASK_PATH = 'D:\PycharmProjects\cigenpic\picture'  # 存放图片的文件夹路径
    print(os.path.join(WSI_MASK_PATH, '*.jpg'))
    wsi_mask_paths_list = glob.glob(os.path.join(WSI_MASK_PATH, '*.jpg'))
    print(wsi_mask_paths_list)
    wsi_mask_paths_list.sort()
    print(wsi_mask_paths_list)
    return wsi_mask_paths_list


def get_new_picture(file_name,pic_dir,copy_pic_dir):
    cigen_list = read_file(file_name=file_name)
    cigen_list_len = len(cigen_list)

    li = []
    for root, dirs, files in os.walk(top=pic_dir):
        file_list = files
        print("file_list:")
        print(file_list)
        for file in files:
            if os.path.splitext(file)[1] == '.jpg':
                li.append(os.path.join(root, file))
    print("li:")
    print(li)
    for i in range(0,len(li)):
        #rb,二进制读取文件
        with open(file=li[i],mode="rb") as f:
            data = f.read()
        wirte_pic_path = copy_pic_dir+"\\"+file_list[i]
        with open(file=wirte_pic_path,mode="wb") as f:
            f.write(data)
        if i < cigen_list_len:
            text = cigen_list[i]
            pic_path= wirte_pic_path
            wirte_text_to_pic_two(text, pic_path)
        else:
            shang = i // cigen_list_len
            print("shang:")
            print(shang)
            yushu = i % cigen_list_len
            print("yushu:")
            print(yushu)
            text = cigen_list[yushu]
            pic_path= wirte_pic_path
            wirte_text_to_pic_two(text, pic_path)









file_name = r"D:\PycharmProjects\cigenpic\english.txt"
pic_dir=r"D:\PycharmProjects\cigenpic\picture"
copy_pic_dir=r"D:\PycharmProjects\cigenpic\engpic"
get_new_picture(file_name,pic_dir,copy_pic_dir)
复制代码

 

posted on   大话人生  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2020-04-20 django部署
2020-04-20 django函数定义上传文件路径
点击右上角即可分享
微信分享提示