一、基本描述

批量裁剪掉图片的背景区域,一般是白色背景,从而减少背景值的干扰和减少存储空间。

原文链接: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批量裁剪图形外围空白区域-续相关推荐

  1. Python批量裁剪图形外围空白区域

    1.描述 图形外围空白区域比较多,需要裁剪掉,这样的图形有很多,需要批量处理 2.代码 from PIL import Image import numpy as np import osimages ...

  2. python批量裁剪图片_python批量剪切图片实现代码

    例子,python入门实例,python实现图片批量剪切. 代码: 代码示例: #!/usr/bin/python # www.# import os from PIL import Image #批 ...

  3. python批量裁剪图片_python批量裁剪图片

    """用Pythonp批量裁剪图片""" from PIL import Image import matplotlib.pyplot as ...

  4. python批量裁剪图片,并按原来层级保存

    最近要做图片的预处理工作,目的是把原图像的roi提取出来.这里使用python做图像的批量裁剪 ,代码如下: # coding: utf-8 from PIL import Image import ...

  5. 使用python批量裁剪图片为目标大小

    一.背景 当进行深度学习任务如进行训练时,图片的大小可能导致显存不足,一个方法是对图片直接进行resize,这个会导致图片细节不足:另一个是对图片进行裁剪,裁剪成小的尺寸以送入模型训练,这也有一个缺点 ...

  6. 用Python批量裁剪图片

    这篇博文主要介绍如何批量裁剪图片,直接上代码,注释已经讲得很清楚了. # coding: utf-8 from PIL import Image import os import os.path im ...

  7. python批量爬取小网格区域坐标系_Python爬虫实例_利用百度地图API批量获取城市所有的POI点...

    上篇关于爬虫的文章,我们讲解了如何运用Python的requests及BeautifuiSoup模块来完成静态网页的爬取,总结过程,网页爬虫本质就两步: 1.设置请求参数(url,headers,co ...

  8. 裁剪图像周围空白区域_零基础PS纠正倾斜的图像效果

    拍照时,由于紧张.或者拍照技术欠佳.或者灵感不好.或者为了让后期设计师有更大的发挥空间而故意留白.或者有特殊的需求,要对照片进行重新构图.这时候,就必须使用PS的裁剪工具了. [适用情况]:相机在倾斜 ...

  9. python批量裁剪图片尺寸

    python裁剪图片尺寸 在做esp8266小电视的时候,因为图片太大,占用的空间太多,所以要对图片裁剪一下,但是图片太多,就写了一个python脚本批量处理一下,特别简单的小程序.. from PI ...

最新文章

  1. java util logging_Java 日志系列篇一 原生 Java.util.logging
  2. 微信阅读原文直接打开浏览器_微信打开网址添加在浏览器中打开提示
  3. Chess Queen【数学】
  4. aop的实现原理_非Spring管理Bean如何添加AOP呢?
  5. 解决outlook无法启动
  6. Airflow 中文文档:设置配置选项
  7. 再见,前端!别更新了,我是学不动了
  8. 思科路由器与windows建立L2L ipsec×××
  9. Executors 线程池的7个参数详解
  10. 简单区分NMOS和PMOS的方法
  11. php hscan,hgetall 替代 hscan的用法详解。
  12. 第十一周项目1——二叉树算法验证(4) 哈夫曼编码的算法验证
  13. 计算机前沿技术讲座心得体会
  14. EndNote新手入门教程
  15. 今天我进了沼泽,总有一天我要走出来!
  16. c语言拼图小游戏编程,c语言控制台输出制作拼图小游戏
  17. 学习使用solr时遇到的一些问题,记录
  18. Windows 10 C盘所有软件,安装到D盘
  19. python求级数的值_如何在Numpy中计算Fourier级数?
  20. IT售前咨询能力范围

热门文章

  1. 练习-任意输入n个从小到大的整数的数列,然后输入一个整数插入到数列中,使数列保持从小到大的顺序
  2. windows不安装虚拟机如何使用Linux系统作为开发工具?
  3. 为SSD编程(6):总结—每个程序员都应该了解的关于固态硬盘的知识
  4. 家乐福中国独立上市,是苏宁的一颗“定心丸”吗?
  5. 学习强国十年磨剑最新分数及排名
  6. java根据内容生成二维码
  7. 开箱即用的高匿代理抓取工具
  8. SONM DWH组件介绍
  9. Phun-有趣的二维物理引擎
  10. uni-app ios 苹果真机或安卓机运行