First
This commit is contained in:
29
裁剪EM14右侧.py
Normal file
29
裁剪EM14右侧.py
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import os
|
||||||
|
from PIL import Image
|
||||||
|
|
||||||
|
# === 参数配置 ===
|
||||||
|
input_folder = r"E:\Train\unmatchedEM14" # 原图所在文件夹
|
||||||
|
output_folder = r"E:\Train\unmatchedEM14Output" # 裁剪后保存的文件夹
|
||||||
|
crop_right_pixels = 157 # 要裁掉的右侧像素数量
|
||||||
|
|
||||||
|
# 如果输出文件夹不存在则创建
|
||||||
|
os.makedirs(output_folder, exist_ok=True)
|
||||||
|
|
||||||
|
# 遍历文件夹中的所有图片文件
|
||||||
|
for filename in os.listdir(input_folder):
|
||||||
|
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.tif', '.tiff')):
|
||||||
|
img_path = os.path.join(input_folder, filename)
|
||||||
|
img = Image.open(img_path)
|
||||||
|
width, height = img.size
|
||||||
|
|
||||||
|
# 定义裁剪区域:(left, upper, right, lower)
|
||||||
|
crop_box = (0, 0, width - crop_right_pixels, height)
|
||||||
|
cropped_img = img.crop(crop_box)
|
||||||
|
|
||||||
|
# 保存结果
|
||||||
|
output_path = os.path.join(output_folder, filename)
|
||||||
|
cropped_img.save(output_path)
|
||||||
|
|
||||||
|
print(f"已裁剪: {filename} -> 右侧去掉 {crop_right_pixels} 像素")
|
||||||
|
|
||||||
|
print("✅ 批量裁剪完成!")
|
||||||
35
裁剪EM14右侧XML文件.py
Normal file
35
裁剪EM14右侧XML文件.py
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
import os
|
||||||
|
import re
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
# ====== 配置 ======
|
||||||
|
input_dir = r"E:\Train\裁剪EM14新\EM 14 REJ" # 原始 XML 文件夹路径
|
||||||
|
output_dir = r"E:\Train\裁剪EM14新\xmlOutput" # 修改后 XML 文件输出路径
|
||||||
|
offset = 157 # 要裁掉的像素值
|
||||||
|
|
||||||
|
# 创建输出文件夹(如果不存在)
|
||||||
|
os.makedirs(output_dir, exist_ok=True)
|
||||||
|
|
||||||
|
def process_xml(file_path, output_path, offset):
|
||||||
|
with open(file_path, 'r', encoding='utf-8') as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
if "<width>1400</width>" in content:
|
||||||
|
new_width = 1400 - offset
|
||||||
|
new_content = content.replace("<width>1400</width>", f"<width>{new_width}</width>")
|
||||||
|
|
||||||
|
with open(output_path, 'w', encoding='utf-8') as f:
|
||||||
|
f.write(new_content)
|
||||||
|
|
||||||
|
print(f"✅ 修改并保存: {os.path.basename(file_path)} → 宽度 {new_width}")
|
||||||
|
else:
|
||||||
|
# 直接复制未修改的文件
|
||||||
|
shutil.copy(file_path, output_path)
|
||||||
|
print(f"↪ 保持原样: {os.path.basename(file_path)}")
|
||||||
|
|
||||||
|
|
||||||
|
for filename in os.listdir(input_dir):
|
||||||
|
if filename.lower().endswith(".xml"):
|
||||||
|
input_path = os.path.join(input_dir, filename)
|
||||||
|
output_path = os.path.join(output_dir, filename)
|
||||||
|
process_xml(input_path, output_path, offset)
|
||||||
0
裁剪EM14左侧和右侧.py
Normal file
0
裁剪EM14左侧和右侧.py
Normal file
29
裁剪EM18下侧.py
Normal file
29
裁剪EM18下侧.py
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import os
|
||||||
|
from PIL import Image
|
||||||
|
|
||||||
|
# === 参数配置 ===
|
||||||
|
input_folder = r"D:\PythonProject\AutoAnno\还没clip" # 原图所在文件夹
|
||||||
|
output_folder = r"D:\PythonProject\AutoAnno\test_images" # 裁剪后保存的文件夹
|
||||||
|
crop_right_pixels = 1450 # 要裁掉的右侧像素数量
|
||||||
|
|
||||||
|
# 如果输出文件夹不存在则创建
|
||||||
|
os.makedirs(output_folder, exist_ok=True)
|
||||||
|
|
||||||
|
# 遍历文件夹中的所有图片文件
|
||||||
|
for filename in os.listdir(input_folder):
|
||||||
|
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.tif', '.tiff')):
|
||||||
|
img_path = os.path.join(input_folder, filename)
|
||||||
|
img = Image.open(img_path)
|
||||||
|
width, height = img.size
|
||||||
|
|
||||||
|
# 定义裁剪区域:(left, upper, right, lower)
|
||||||
|
crop_box = (0, 0, width, height- crop_right_pixels)
|
||||||
|
cropped_img = img.crop(crop_box)
|
||||||
|
|
||||||
|
# 保存结果
|
||||||
|
output_path = os.path.join(output_folder, filename)
|
||||||
|
cropped_img.save(output_path)
|
||||||
|
|
||||||
|
print(f"已裁剪: {filename} -> 下侧去掉 {crop_right_pixels} 像素")
|
||||||
|
|
||||||
|
print("✅ 批量裁剪完成!")
|
||||||
Reference in New Issue
Block a user