您当前的位置:首页 > 计算机 > 编程开发 > Python

使用OpenCV把目标图像平均分割为4幅图像

时间:11-10来源:作者:点击数:

如下图所示,将按照先将目标图像在水平方向上对折、再将其在垂直方向上对折的方式,把目标图像平均分割为4幅图像。

图片
图片

实现时,首先要读取目标图像,再获取目标图像的属性shape。得到了属性shape中行像素和列像素后,使用“切片”分别得到分割后的4幅图像。使用窗口显示这4幅图像,并且把这4幅图像保存在当前项目目录下的images文件夹下。代码如下:

import cv2
 
image = cv2.imread("images/ice.jpg") # 读取项目目录下images文件夹下的图像
rows, columns, channels = image.shape # 获取图像的行像素、列像素和通道数
cv2.imshow("ice", image) # 创建一个名称为ice的窗口显示读取到的图像
image_name = 1 # 使用数字命名将要被保存的图像
# 图像要被均分成2行2列的4幅图像
for i in range(2): # 表示“行”
    for j in range(2): # 表示“列”
        # 使用“切片”,分别得到4幅图像中的每一幅图像
        img_roi = image[(i * int(rows/2)):((i + 1) * int(rows/2) -1),(j * int(columns/2)):((j + 1) * int(columns/2) -1)]
        cv2.imshow(str(i) + "-" + str(j), img_roi) # 窗口显示4幅图像中的每一幅图像
        cv2.imwrite("images/" + str(image_name) + ".jpg", img_roi) # 保存4幅图像中的每一幅图像
        image_name = image_name + 1 # 用于命名将要被保存的图像的数字执行自加操作
cv2.waitKey() # 按下键盘上的任意按键后
cv2.destroyAllWindows() # 销毁显示图像的所有窗口

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门