批量裁剪图片的空白边界方法,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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。