python裁剪图片大小

裁剪规则:裁剪图片中间指定长宽的范围,保存为新的图片
例子:原图640×640,裁剪出中间512×512大小的保存为新的图片

import cv2

img_path = r"D:\...\sample_cut.jpg"

# 640*640截取中间的512*512
img = cv2.imread(img_path)
img_cut = img[64:576,64:576]
save_path = r'D:\...\sample_cut_512.jpg'
cv2.imwrite(save_path,img_cut )
### 使用Python批量调整图片尺寸 #### 方法一:使用PIL库实现批量调整图片尺寸 通过`Image.resize()`函数可以轻松改变图像的分辨率。下面是一个简单的例子,展示如何遍历文件夹中的所有JPEG格式图片并将其宽度和高度都缩小到原来的一半。 ```python from PIL import Image import os def batch_resize_pil(input_folder, output_folder, size=(800, 600)): if not os.path.exists(output_folder): os.makedirs(output_folder) for filename in os.listdir(input_folder): if filename.lower().endswith(('.png', '.jpg', '.jpeg')): img_path = os.path.join(input_folder, filename) with Image.open(img_path) as im: resized_im = im.resize(size) save_path = os.path.join(output_folder, filename) resized_im.save(save_path) batch_resize_pil('input_images/', 'output_images/') ``` 此代码段展示了利用PIL库完基本的批量重设大小操作[^1]。 #### 方法二:结合OpenCV与PIL的优势进行更复杂的转换 有时可能需要先用OpenCV读取图像再转PIL对象以便于后续处理。这里给出一段混合使用的脚本: ```python import cv2 from PIL import Image import numpy as np import os def batch_process_cv2_to_pil(input_dir, out_dir, target_size=(800, 600)): if not os.path.isdir(out_dir): os.mkdir(out_dir) files = [f for f in os.listdir(input_dir) if any(f.endswith(ext) for ext in ('.png','.jpg','.jpeg'))] for file_name in files: full_file_path = os.path.join(input_dir,file_name) # Read image using OpenCV bgr_img = cv2.imread(full_file_path) rgb_img = cv2.cvtColor(bgr_img,cv2.COLOR_BGR2RGB) pil_image = Image.fromarray(rgb_img).convert('RGB') rescaled_img = pil_image.resize(target_size) result_save_path = os.path.join(out_dir,file_name) rescaled_img.save(result_save_path,'JPEG') batch_process_cv2_to_pil('./inputs/','./outputs/') ``` 这段程序说明了怎样将两种技术结合起来,在保持色彩空间一致性的同时执行高效的预处理任务[^3]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值