Python使用OpenCV将图片裁剪为四等份

Theo
Theo
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍利用Python和OpenCV库将单张图片均匀裁剪为四部分的方法。核心思路是将读取的图片视为NumPy三维数组,通过数组切片操作定义感兴趣区域(ROI)。代码演示了如何遍历二维网格坐标,截取指定宽高的子图像并保存为独立文件,适用于需要批量处理图像分块的场景。

具体实现代码如下所示:

import cv2 # [1]导入OpenCv开源库
import numpy as np
 
image_path = "F:\\11111111111111111111111111111\\100000.jpg"
srcImg = cv2.imread(image_path) # [2]将图片加载到内存
 
cv2.namedWindow("[srcImg]", cv2.WINDOW_AUTOSIZE) # [3]创建显示窗口
cv2.imshow("[srcImg]", srcImg) # [4]在刚才创建的显示窗口中显示刚在加载的图片
cv2.waitKey(0)
 
# ========================================================================================================
# 模块说明:
#    由于OpenCv中,imread()函数读进来的图片,其本质上就是一个三维的数组,这个NumPy中的三维数组是一致的,所以设置图片的 
#  ROI区域的问题,就转换成数组的切片问题,在Python中,数组就是一个列表序列,所以使用列表的切片就可以完成ROI区域的设置 
# ========================================================================================================
image_save_path_head = "F:\\11111111111111111111111111111\\111\\cat_ROI_"
image_save_path_tail = ".jpg"
seq = 1
for i in range(2): # [1]480*360==15*11---height
  for j in range(2): # [2]column-----------width
    img_roi = srcImg[(i * 112):((i + 1) * 112), (j * 112):((j + 1) * 112)]
    image_save_path = "%s%d%s" % (image_save_path_head, seq, image_save_path_tail)##将整数和字符串连接在一起
    cv2.imwrite(image_save_path, img_roi)
    seq = seq + 1

上述内容展示了在Python中将图片剪切成四份的完整方法。希望这段代码能为读者提供有效的参考,如果大家觉得有用,欢迎继续支持本站获取更多技术分享。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表