如何在Python中将文件保存到当前文件夹中的单独文件夹中?

时间:2019-03-22 05:00:26

标签: python save

我有以下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))

当前,新裁剪的图像会保存到主文件夹(主图像(image_file)所在的主文件夹)中。我想在该目录中创建一个新文件夹,并将图像保存到新文件夹中。我尝试使用os库,但是没有用。 有帮助吗?

1 个答案:

答案 0 :(得分:1)

使用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))
相关问题