Python使用OpenCV将图片裁剪为四等份
本文介绍利用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中将图片剪切成四份的完整方法。希望这段代码能为读者提供有效的参考,如果大家觉得有用,欢迎继续支持本站获取更多技术分享。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













