自己整理实现的python小工具

文章目录

  • 记录一些自己整理实现的python小工具
    • python获取文件路径
    • pytho使用opencv进行图像拼接

记录一些自己整理实现的python小工具

python获取文件路径

  • 因为有的程序需要从txt文件中获取文件的名称然后逐个读取,但是没有这个txt文档需要自己生成
  • 具体的代码如下,其中print()用于调试输出路径信息需要的可以取消注释
import os

relativepath = 'relative_path.txt'  # 生成相对路径的txt
absolutepath = 'absolute_path.txt'  # 绝对路径的txt
fw_rel = open(relativepath, "w")
fw_abs = open(absolutepath, "w")


def get_all_file_name(dir):
    for root, dirs, files in os.walk(dir):
        dir
        # print("根目录", root)  # 当前目录路径
        # print("子目录", dirs)  # 当前路径下所有子目录
        # print("文件名", files)  # 当前路径下所有非目录子文件
        for file in files:
            #print("路径", root)
            #print("文件名", file)
            rel = root.replace(dir, "", 1)
            #print("相对路径", rel)
            # 保存文件的相对路径
            save_rel = rel + "/" + file
            print("relativepath:", save_rel)
            fw_rel.write(save_rel+'\n')
            # 保存文件的绝对路径
            save_abs = root + "/" + file
            print("absolutepath:", save_abs)
            fw_abs.write(save_abs+'\n')

if __name__ == '__main__':
    root_dir = os.getcwd()  # 输入当前文件路径
    get_all_file_name(root_dir)
    # dirpath = ""  # 指定根目录
    # read_directory(dirpath)

新增了对文件进行名称排序保存的功能

import os

relativepath = 'relative_path.txt'  # 生成相对路径的txt
absolutepath = 'absolute_path.txt'  # 绝对路径的txt
fw_rel = open(relativepath, "w")
fw_abs = open(absolutepath, "w")


def name_sort(files):#文件名排序 
    files_list = sorted(files)
    return files_list


def get_all_file_name(dir):
    for root, dirs, files in os.walk(dir):
        # print("根目录", root)  # 当前目录路径
        # print("子目录", dirs)  # 当前路径下所有子目录
        # print("文件名", files)  # 当前路径下所有非目录子文件
        files_list = name_sort(files)

        for file in files_list:
            #print("路径", root)
            #print("文件名", file)
            rel = root.replace(dir, "", 1)
            #print("相对路径", rel)
            # 保存文件的相对路径
            save_rel = rel + "/" + file
            print("relativepath:", save_rel)
            fw_rel.write(save_rel+'\n')
            # 保存文件的绝对路径
            save_abs = root + "/" + file
            print("absolutepath:", save_abs)
            fw_abs.write(save_abs+'\n')


if __name__ == '__main__':
    root_dir = os.getcwd()  # 输入当前文件路径
    get_all_file_name(root_dir)
    
    # dirpath = ""  # 指定根目录
    # read_directory(dirpath)

pytho使用opencv进行图像拼接

  • 横向拼接图像
  • 拼接后高度为第一张图片的高度
import cv2
#图像按顺序命名为1.jpg、2.jpg等
num = 3;#图片总数量
im = cv2.imread("1.jpg")
hight,width = im.shape[0:2]
widths = width*(num+1)
images = cv2.resize(im,(int(widths),int(hight)))
cv2.imwrite("result.jpg",images)
widths = 0
for i in range(num):
    im_x = cv2.imread("%s.jpg"%(i+1))
    hight_x, width_x = im.shape[0:2]
    bl = width_x/hight_x#宽高比
    width_x = bl * hight
    im_x = cv2.resize(im_x,(int(width_x),int(hight_x)))
    images[0:int(hight),int(widths):int(width_x+widths)]=im_x
    widths = widths + width_x#总宽度

result = images[0:int(hight),0:int(widths)]
hight,width = result.shape[0:2]
print("拼接后图像的高",hight,"宽",width)
cv2.imwrite("result.jpg",result)

你可能感兴趣的:(python,开发语言)