47 lines
1.9 KiB
Python
Executable File
47 lines
1.9 KiB
Python
Executable File
import os
|
|
from PIL import Image
|
|
from openpyxl import load_workbook
|
|
from tqdm import tqdm
|
|
|
|
# Define the base paths for images and labels
|
|
base_path = "/data5/Temp_ProjectData/QiJianProject/2022ZD0116304-202405/Images/CDB"
|
|
image_folder = os.path.join(base_path, "JPEGImages")
|
|
label_folder = os.path.join(base_path, "txt")
|
|
|
|
# Load the Excel workbook and select the first sheet
|
|
workbook_path = "/data1/Hatcher/model/project/MPKFNet/大规模数据库-图像.xlsx" # Update this with the actual path to the Excel file
|
|
workbook = load_workbook(workbook_path)
|
|
sheet = workbook.active # Assuming the first sheet is the target one
|
|
|
|
# Helper function to get image dimensions
|
|
def get_image_dimensions(image_path):
|
|
with Image.open(image_path) as img:
|
|
return img.size # Returns (width, height)
|
|
|
|
# Start filling the Excel from row 2 (row 1 is the header)
|
|
row_index = 2
|
|
|
|
# Iterate over images and corresponding label files
|
|
for image_name in tqdm(os.listdir(image_folder)):
|
|
if image_name.endswith(".jpg"): # Ensure the file is a JPEG image
|
|
# Construct full paths for the image and label
|
|
image_path = os.path.join(image_folder, image_name)
|
|
label_name = os.path.splitext(image_name)[0] + ".txt"
|
|
label_path = os.path.join(label_folder, label_name)
|
|
|
|
# Get image dimensions
|
|
dimensions = get_image_dimensions(image_path)
|
|
|
|
# Fill in the Excel sheet
|
|
sheet.cell(row=row_index, column=1, value=row_index - 1) # Sequence number
|
|
sheet.cell(row=row_index, column=2, value=image_path) # Original image data
|
|
sheet.cell(row=row_index, column=3, value=label_path) # Label
|
|
sheet.cell(row=row_index, column=4, value=f"{dimensions[0]}x{dimensions[1]}") # Image size
|
|
sheet.cell(row=row_index, column=5, value=0) # Data function type
|
|
|
|
# Increment the row index for the next entry
|
|
row_index += 1
|
|
|
|
|
|
# Save the updated workbook
|
|
workbook.save(workbook_path) |