Как сохранить файлы в отдельной папке в текущей папке в Python? - PullRequest
0 голосов
/ 22 марта 2019

У меня есть следующий скрипт на python, который выполняет обрезку изображения на основе кординатов.

for (i, c) in enumerate(cnts):
        #draw the bright spot on the image
        #(x, y, w, h) = cv2.boundingRect(c)

        ((cX, cY), radius) = cv2.minEnclosingCircle(c)
        cv2.circle(bgr_img, (int(cX), int(cY)), int(radius),(255, 0, 0), 1)
        crop_img = bgr_img[max(int(cY)-int(radius)-offset,0):max(int(cY)+int(radius)+offset,0),max(int(cX)-int(radius)-offset,0):max(int(cX)+int(radius)+offset,0)]
        cv2.imwrite('%s_%x_%x.jpg'%(image_file,int(cX),int(cY)),crop_img)
        #cv2.imshow("bump", crop_img)
        print(image_file, int(cX), int(cY), int(radius))

В настоящее время новые обрезанные изображения сохраняются в главной папке, где находится основное изображение (файл_изображения).Я хотел бы создать новую папку в этом каталоге и сохранить изображения в новую папку.Я попытался с помощью библиотеки ОС, но не работает.Любая помощь?

1 Ответ

1 голос
/ 22 марта 2019

Использование os.mkdir:

cropped_dir = 'cropped_images'
os.mkdir(cropped_dir)

for (i, c) in enumerate(cnts):
        #draw the bright spot on the image
        #(x, y, w, h) = cv2.boundingRect(c)

        ((cX, cY), radius) = cv2.minEnclosingCircle(c)
        cv2.circle(bgr_img, (int(cX), int(cY)), int(radius),(255, 0, 0), 1)
        crop_img = bgr_img[max(int(cY)-int(radius)-offset,0):max(int(cY)+int(radius)+offset,0),max(int(cX)-int(radius)-offset,0):max(int(cX)+int(radius)+offset,0)]
        image_name = '{}_{}_{}.jpg'.format(image_file, cX, cY)
        image_path = os.path.join(cropped_dir, image_name)
        cv2.imwrite(image_path)
        #cv2.imshow("bump", crop_img)
        print(image_file, int(cX), int(cY), int(radius))
...