批量裁剪图片的空白边界方法,python指定区域截图

  批量裁剪图片的空白边界方法,python指定区域截图

  本文主要介绍Python批量裁剪图形周围的空白区域,批量裁剪图片的背景区域,一般为白色背景,以减少背景值的干扰,减少存储。下面这篇文章的具体操作内容,朋友们可以参考一下。

  00-1010一、基本描述二。执行代码三。影响

  

目录

  批量裁剪出图片的背景区域,通常是白色背景,以减少背景值的干扰,减少存储空间。

  检索所有图片的最小裁剪区域的坐标值,然后裁剪图片。本文所有图片都是标准化的,核心图片的内容尺度都是一样的。所以,如果有很多大小不一的图片,也就是图片中内容区域的大小和形状不一样,那么图片的背景区域就会被逐个搜索,然后裁剪掉。即逐个搜索剪辑区域并进行剪辑。

  

一、基本描述

  修改原文中的代码,逐个检索每张图片的裁剪区域坐标,然后进行裁剪。

  代码如下:

  从PIL进口图片

  将numpy作为np导入

  导入操作系统

  images=r c : \ users \ administrator \ desktop \ out # TIFF图片所在文件夹的路径

  i=0

  对于OS . listdir(images directory):中的imageName

  image path=OS . path . join(images directory,imageName)

  Image=Image.open(imagePath) #打开tiff图像

  ImageArray=np.array(image)

  row=ImageArray.shape[0]

  col=ImageArray.shape[1]

  打印(行,列)

  #先计算所有图片的裁剪范围,然后统一裁剪输出图片。

  x_left=row

  x_top=col

  x_right=0

  x_bottom=0

  #上下左右范围

  Image.crop(左、上、右、下)

  Left:距左边距的距离

  向上:距上边界的距离

  右:或距左边界的距离。

  下图:还是离上界的距离。

  简而言之,左上右下。

  i=1

  对于范围(世界其他地区):中的r

  对于范围:内的c

  #if ImageArray[row][col][0] 255或ImageArray[row][col][0]==0:

  如果ImageArray[r][c][0] 255和ImageArray[r][c][0]!=0: #外框有黑边,增加了条件判断。

  如果x_top r:

  X_top=r #获取最小值X_top

  if x_bottom r:

  X_bottom=r #获取最大X_bottom。

  如果x_left c:

  X_left=c #获取最小值X_left

  如果x_right c:

  X_right=c #获取最大X_right

  打印(x _左,x _上,x _右,x _下)

  # image=Image.open(imagePath) #打开tiff图像

  cropped=image.crop((x_left-5,x_top-5,x_right 5,x_bottom 5)) #(左、上、右、下)

  cropped . save(r c : \ Users \ Administrator \ Desktop \ out _ cut _ BG \ { }。巴布亚新几内亚。格式(imageName[:-4],I))

  打印( imageName完成!)

  

二、实现代码

  原图显示:

  裁剪结果显示:

  原文效果:

  这就是这篇关于Python批量切割图形外围空白区域的文章。关于Python批量切割图形的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: