一、背景

在计算机视觉中,经常需要将图片作为输入模型的数据。由于很多图像数据是比较大的,如果直接输入模型,会对计算机的要求很高,所以我们经常将尺寸较大的图片裁剪为小图片,以便能够更好的训练我们的模型。

二、本文会分享:

①如何将某一文件夹下的所有图片分割为特定大小的很多个图块;

②可选择性的设置两相邻小图块之间的重叠率。

三、示例数据

本文采用的示例数据为ISPRS Potsdam 2D Segmentation数据集的标签数据(如果要替换为自己的数据,在代码中替换文件路径即可)。原始数据大小为6000*6000,我们要将其划分为很多个512*512的小图块,对于边缘位置不够512的行和列,以倒数512形成裁剪区域,示例:

四、明确任务之后,上代码!

       有需要的小伙伴,请注意看注释哦!

import cv2
import os
import math
import shutil
#根据任务要求,定义一个caijian函数
def caijian(path, path_out, size_w=512, size_h=512, step=256): #step为步长,设置为256即相邻图片重叠50%ims_list=os.listdir(path) #在此例中调用时,ims_list为['image.png', 'label.png']for im_list in ims_list:number = 0name = im_list[:-4]  #去除“.png”后缀img = cv2.imread(path+im_list)#读取要切割的图片size = img.shapei=0for h in range(0,size[0],step):star_h = h #star_h表示起始高度,从0以步长step=256开始循环for w in range(0,size[1],step):star_w = w #star_w表示起始宽度,从0以步长step=256开始循环end_h = star_h + size_h #end_h是终止高度if end_h > size[0]:#如果边缘位置不够512的列# 以倒数512形成裁剪区域star_h = size[0] - size_hend_h = star_h + size_hi=i-1                   end_w = star_w + size_w #end_w是中止宽度if end_w > size[1]:#如果边缘位置不够512的行# 以倒数512形成裁剪区域star_w = size[1] - size_wend_w = star_w + size_wi=i-1cropped = img[star_h:end_h, star_w:end_w]#执行裁剪操作                i=i+1name_img = name + '_'+ str(star_h) +'_' + str(star_w)#用起始坐标来命名切割得到的图像,为的是方便后续标签数据抓取
#                 name_img = name + str(i)cv2.imwrite('{}/{}.png'.format(path_out,name_img),cropped)#将切割得到的小图片存在path_out路径下print("已成功执行!")
#将完整的图像划分为小块
if __name__ == '__main__':ims_path = 'F:/Practice/test_02/Potsdam/image/'# 图像数据集的路径#在result文件夹下,创建一个label_s文件夹,用于存放label切割的结果path= 'F:/Practice/test_02//images'#切割得到的数据集存放路径,当caijian函数执行后label_s文件夹下,存放的是image和label切割的结果if not os.path.exists(path):os.makedirs(path)caijian(ims_path, path, size_w=512, size_h=512, step=256)#调用caijian函数,如果相邻图片不想有重叠部分,则将step设置为512,即与裁剪的尺寸一致

将图片批量切割为512*512像素相关推荐

  1. 【Python+图片切割+图片合并】基于Python的图片批量切割与合并(保持原像素不变,不会出现像素大小不匹配、填充黑边的问题)

    基于Python的图片批量切割与合并(保持原像素不变,不会出现像素大小不匹配.填充黑边的问题) 前言 效果图 1.批量读取文件 2.清空目标目录方法(配合切割图片方法使用) 3.批量切割图片(像素不足 ...

  2. PS-的一些常用功能-去污渍或水印-自动批量处理图片-查看坐标与像素值-图片缩放等

    ctrl+j复制图层 p图-去污渍或水印 先点击选框工具,或磁性套索工具,选择目标区域后,右键填充,选择内容识别,就可以自动去污渍或水印了. 自动批量处理大量图片之前博客写过就不重复了 PS批量自动处 ...

  3. yolo测试图片批量裁剪+pad指定尺寸

    基于u版Yolo v3 detect_save_crop.py import argparse from sys import platformfrom models import * # set O ...

  4. 切图工具:输出512*512切片大小的切片

    原来切图工具仅能输出256*256大小的切片,已经逐渐不满足高清屏幕的需求,结果就是在Retina显示屏或者4K.8K显示屏中,会显示比较模糊.这样就需要生成512*512像素的切片,在原来256*2 ...

  5. 网页图片批量获取(Python教程)

    推荐自己的专栏:玩一玩爬虫咯 文章中的许多代码都有对于路径的操作,代码中所给路径仅作参考,请根据自身情况进行适配 本文仅作敲砖引玉之用,所讲解知识点有限,只讲解了文本代码中用到的知识点 文章目录 图片 ...

  6. 利用python实现深度学习生成对抗样本模型,为任一图片加扰动并恢复原像素的全流程记录

    利用python实现深度学习生成对抗样本,为任一图片加扰动并恢复原像素 一.前言 (一)什么是深度学习 (二)什么是样本模型 (三)什么是对抗样本 1.对抗的目的 2.谁来对抗? 3.对抗的敌人是谁? ...

  7. 网店描述页详情页产品图片批量下载提取采集软件

    1688描述页详情页产品图片批量下载提取采集软件 阿里巴巴国际站描述页详情页产品图片批量下载提取采集软件 淘宝描述页详情页产品图片批量下载提取采集软件 天猫描述页详情页产品图片批量下载提取采集软件 京 ...

  8. 原创-照片/图片批量处理小程序(C#/wpf)

    前言 我们有时会需要对一些出游的照片或个人摄影图片做一些批量的简单处理,比如批量改文件名.改像素尺寸.改后缀名,或者是想在图片上的某个位置加个文字水印,做图片增强处理,加密.解密等.这些操作不复杂,但 ...

  9. 15款图片批量处理软件下载

    对于比较繁忙的站长们来说,能批量处理的事情就绝不伤心费神的手动弄.即使花一天的时间找一个适合你的批量处理软件,也能让你以后的工作事半功倍.批量处理任务里面,最常用的就是图片批量处理,包括批量改变图片尺 ...

最新文章

  1. VTK:可视化之MoveActor
  2. Embedding在网易严选搜索推荐中的应用
  3. c语言中static变量
  4. 什么是document对象?如何获取文档对象上的元素?_dom对象
  5. 电脑时代计算机应用,【2017年整理】计算机应用与发展的神话时代.docx
  6. Android Ubuntu 安装问题FAQ
  7. JPA多表查询映射自定义实体类(包含两个表字段)
  8. 论文赏析[ACL18]基于RNN和动态规划的线性时间成分句法分析
  9. sql 时间字符串转换
  10. 求助!KeyError:None of [Index(['2017-01-01, ...\n dtype='object', length=365)] are in the [columns]
  11. Springboot毕设项目图书馆座位预定系统plo6rjava+VUE+Mybatis+Maven+Mysql+sprnig)
  12. 刚刚,10位青年学者获得阿里达摩院青橙奖,钟南山寄语,每人100万,最小获奖者28岁
  13. 把数字用拼音表示并输出
  14. 使用GHOST镜像文件在VMWARE WROKSTATION上安装系统(图)
  15. vue 图片转base64格式的方法
  16. 【练习七 字符串编程题9. 音乐DJ和回响贝斯】
  17. matlab+中文字体设计,有搞头没有? 有搞头
  18. 梅克尔工作室-赵一帆-鸿蒙笔记4
  19. centos进入救援模式并修复文件系统(7、8)
  20. 文献阅读01-空间众包-最大化任务分配数量

热门文章

  1. 美剧路西法第一季第二季
  2. 不要因为工作不好而辞职
  3. 计算机音乐谱子薛之谦,薛之谦丑八怪歌词是什么意思 计算器谱子
  4. 【ng2】运行 ng serve --open 时报错
  5. Monkey测试日志分析及定位
  6. 信用卡分期手续费率与贷款利率间的相互转换
  7. 支付宝还信用卡即将收费!免费市代即将终结?
  8. Spring Boot Common Properties之Core Properties
  9. 超神学院计算机排名,超神学院电脑版
  10. 我的世界服务器死亡信息在哪看,我的世界:死亡记录点?不需要地图,就可以看到“死”在哪里!...