Python批量裁剪图形外围空白区域-续
一、基本描述
批量裁剪掉图片的背景区域,一般是白色背景,从而减少背景值的干扰和减少存储空间。
原文链接:Python批量裁剪图形外围空白区域
原文是通过检索所有图片的最小裁剪区域坐标值,然后再对图片进行裁剪。原文中的图都是经过标准化处理的,核心图片内容尺度都一致,所以采用该种办法,如果有很多不同大小的图片,即图片中的内容区域大小形状不一样,则一张一张的检索该图的背景区域,然后进行裁剪。即一张一张的检索裁剪区域并进行裁剪。
二、实现代码
对原文中的代码进行修改,一张一张的检索每张图的裁剪区域坐标,然后裁剪。
代码如下:
from PIL import Image
import numpy as np
import osimagesDirectory = r"C:\Users\Administrator\Desktop\out" # tiff图片所在文件夹路径i = 0
for imageName in os.listdir(imagesDirectory):imagePath = os.path.join(imagesDirectory, imageName)image = Image.open(imagePath) # 打开tiff图像ImageArray = np.array(image)row = ImageArray.shape[0]col = ImageArray.shape[1]print(row,col)# 先计算所有图片的裁剪范围,然后再统一裁剪并输出图片x_left = rowx_top = colx_right = 0x_bottom = 0# 上下左右范围"""Image.crop(left, up, right, below)left:与左边界的距离up:与上边界的距离right:还是与左边界的距离below:还是与上边界的距离简而言之就是,左上右下。"""i += 1for r in range(row):for c in range(col):#if ImageArray[row][col][0] < 255 or ImageArray[row][col][0] ==0:if ImageArray[r][c][0] < 255 and ImageArray[r][c][0] !=0: #外框有个黑色边框,增加条件判断if x_top > r:x_top = r # 获取最小x_topif x_bottom < r:x_bottom = r # 获取最大x_bottomif x_left > c:x_left = c # 获取最小x_leftif x_right < c:x_right = c # 获取最大x_rightprint(x_left, x_top, x_right, x_bottom)# image = Image.open(imagePath) # 打开tiff图像cropped = image.crop((x_left-5, x_top-5, x_right+5, x_bottom+5)) # (left, upper, right, lower)cropped.save(r"C:\Users\Administrator\Desktop\out_cut_bg\{}.png".format(imageName[:-4], i))print("imageName completed!")
三、效果
原图显示:
裁剪结果显示:
原文效果:
Python批量裁剪图形外围空白区域-续相关推荐
- Python批量裁剪图形外围空白区域
1.描述 图形外围空白区域比较多,需要裁剪掉,这样的图形有很多,需要批量处理 2.代码 from PIL import Image import numpy as np import osimages ...
- python批量裁剪图片_python批量剪切图片实现代码
例子,python入门实例,python实现图片批量剪切. 代码: 代码示例: #!/usr/bin/python # www.# import os from PIL import Image #批 ...
- python批量裁剪图片_python批量裁剪图片
"""用Pythonp批量裁剪图片""" from PIL import Image import matplotlib.pyplot as ...
- python批量裁剪图片,并按原来层级保存
最近要做图片的预处理工作,目的是把原图像的roi提取出来.这里使用python做图像的批量裁剪 ,代码如下: # coding: utf-8 from PIL import Image import ...
- 使用python批量裁剪图片为目标大小
一.背景 当进行深度学习任务如进行训练时,图片的大小可能导致显存不足,一个方法是对图片直接进行resize,这个会导致图片细节不足:另一个是对图片进行裁剪,裁剪成小的尺寸以送入模型训练,这也有一个缺点 ...
- 用Python批量裁剪图片
这篇博文主要介绍如何批量裁剪图片,直接上代码,注释已经讲得很清楚了. # coding: utf-8 from PIL import Image import os import os.path im ...
- python批量爬取小网格区域坐标系_Python爬虫实例_利用百度地图API批量获取城市所有的POI点...
上篇关于爬虫的文章,我们讲解了如何运用Python的requests及BeautifuiSoup模块来完成静态网页的爬取,总结过程,网页爬虫本质就两步: 1.设置请求参数(url,headers,co ...
- 裁剪图像周围空白区域_零基础PS纠正倾斜的图像效果
拍照时,由于紧张.或者拍照技术欠佳.或者灵感不好.或者为了让后期设计师有更大的发挥空间而故意留白.或者有特殊的需求,要对照片进行重新构图.这时候,就必须使用PS的裁剪工具了. [适用情况]:相机在倾斜 ...
- python批量裁剪图片尺寸
python裁剪图片尺寸 在做esp8266小电视的时候,因为图片太大,占用的空间太多,所以要对图片裁剪一下,但是图片太多,就写了一个python脚本批量处理一下,特别简单的小程序.. from PI ...
最新文章
- java util logging_Java 日志系列篇一 原生 Java.util.logging
- 微信阅读原文直接打开浏览器_微信打开网址添加在浏览器中打开提示
- Chess Queen【数学】
- aop的实现原理_非Spring管理Bean如何添加AOP呢?
- 解决outlook无法启动
- Airflow 中文文档:设置配置选项
- 再见,前端!别更新了,我是学不动了
- 思科路由器与windows建立L2L ipsec×××
- Executors 线程池的7个参数详解
- 简单区分NMOS和PMOS的方法
- php hscan,hgetall 替代 hscan的用法详解。
- 第十一周项目1——二叉树算法验证(4) 哈夫曼编码的算法验证
- 计算机前沿技术讲座心得体会
- EndNote新手入门教程
- 今天我进了沼泽,总有一天我要走出来!
- c语言拼图小游戏编程,c语言控制台输出制作拼图小游戏
- 学习使用solr时遇到的一些问题,记录
- Windows 10 C盘所有软件,安装到D盘
- python求级数的值_如何在Numpy中计算Fourier级数?
- IT售前咨询能力范围