Я учусь в области кодирования. Я должен обрезать некоторые изображения, которые сохраняются в подпапках. Изображения сохраняются следующим образом: оригинал (имя папки) - штрих-код (подпапка) - 1 (подпапка), 2 (подпапки) - o1.jpg ....
eg. /home/AA/Data_processing/crop image/original/12345/1-images
eg. /home/AA/Data_processing/crop image/original/12345/2-images
Я хочу обрезать егоиспользуя im.crop. Когда я пытался запустить некоторые коды, он считывает мои файлы, также сохранение пути создает каталог сохранения, но я не получаю обрезанные изображения в пути сохранения при установке.
Любая помощь будет принята с благодарностью. Спасибо
from PIL import Image
import os.path, sys
import os
import cv2
img_path ="./original/" # folder path
save_root_path = "./crop"
folders_list = sorted(os.listdir(img_path))
#dirs = os.listdir(path)
# checking folder
def filecheck(path):
if not os.path.exists(path):
try:
os.makedirs(path)
print('create'+path)
except OSError as e:
if e.errorno != e.errno.EEXIST:
raise
for folder_list in folders_list:
folder_path = os.path.join(img_path,folder_list)
barcodes_list = sorted(os.listdir(folder_path))
# checking barcode folder
for barcode_list in barcodes_list:
barcode_path = os.path.join(folder_path,barcode_list)
imgs_list = sorted(os.listdir(barcode_path))
save_path = os.path.join(os.path.join(save_root_path , folder_list) , barcode_list)
if os.path.exists(save_path):
print(save_path + " exists")
continue
filecheck(save_path)
for img_list in imgs_list:
img = cv2.imread(os.path.join(barcode_path,img_list))
print(os.path.join(barcode_path,img_list))
# cropping images
def crop():
for item in img_path:
fullpath =os.path.join(os.path.join(save_root_path , folder_list) , barcode_list)
if os.path.isfile(fullpath):
im = Image.open(fullpath)
imCrop = im.crop((474, 14, 3888, 2108)) # I want ro crop in this way
cv2.imwrite(save_path+'/'+img_list.split('.')[0]+'.jpg', quality=100)
#print(os.path.join(barcode_path,img_list))
#print(crop())`