OpenCV自学笔记11. 切割图片

把一张图片切割成多个小图片

本小节的测试图片如下:

这里写图片描述

import cv2

"""
把一个480 * 640的图片,按照32 * 32的大小,均分成300张小图片
"""
def make_neg(path):
    k = 0 # 图片计数用的变量
    image = cv2.imread(path) # 读取图片
    rows, cols, = image.shape[0:2] # 获得行数和列数
    r1, r2 =  [0, 32] #初始化r1, r2
    while r2 <= rows:
        c1, c2 = [0, 32] # 每循环一次,要重新给c1,c2赋值
        while c2 <= cols:
            # 截取图片
            img = image[r1 : r2 + 1, c1 : c2 + 1] 
            # 把截图的图片保存到文件中
            cv2.imwrite('neg_data/' + str(k) + '.jpg', img)
            k, c1, c2 = [k + 1, c1 + 32, c2 + 32]# 更新值
        r1, r2 = [r1 + 32, r2 + 32] # 更新值
    print('finish')

if __name__ == "__main__":
    make_neg('my_wife.jpg')    

关于r1,r2,c1,c2的含义见下图:

这里写图片描述

测试结果如下,一共被切分成了300张图片

这里写图片描述

先到这里吧,拜~

这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值