【python】批量按坐标裁剪图片、ImageJ批量修改图片格式

一、批量按坐标裁剪图片代码

# -- coding: utf-8 --
import cv2
import os


def update(input_img_path, output_img_path):
    image = cv2.imread(input_img_path)
    # print(image.shape)
    cropped = image[0:440, 0:440]  # 裁剪坐标为[y0:y1, x0:x1]
    cv2.imwrite(output_img_path, cropped)


dataset_dir = 'E:/1'  # 需裁剪的图片存放文件夹
output_dir = 'E:/2'   # 裁好图片输出文件夹

# 获得需要转化的图片路径并生成目标路径
image_filenames = [(os.path.join(dataset_dir, x), os.path.join(output_dir, x))
                   for x in os.listdir(dataset_dir)]
# 转化所有图片
for path in image_filenames:
    update(path[0], path[1])

文件夹路径不要含中文字符,容易报错。

二、ImageJ批量修改图片格式

  1. 打开ImageJ,选择plugins中的Macros中的Record
    【python】批量按坐标裁剪图片、ImageJ批量修改图片格式_第1张图片
    【python】批量按坐标裁剪图片、ImageJ批量修改图片格式_第2张图片
  2. 再打开一张需要转换的图,将该图存为自己想要的格式,可以看到在record中的记录,复制这段记录。
    【python】批量按坐标裁剪图片、ImageJ批量修改图片格式_第3张图片
  3. 打开Process——Batch——Macro
    【python】批量按坐标裁剪图片、ImageJ批量修改图片格式_第4张图片
    4.删掉单张保存的语句(saveas那句),然后input是需要批量改变图片的所在文件夹,output是存放的新文件夹,output format是想保存的格式。改好后点右下角的process。
    【python】批量按坐标裁剪图片、ImageJ批量修改图片格式_第5张图片

你可能感兴趣的:(python,python,opencv)