# coding:utf-8
import cv2
import numpy as np
from PIL import Image
def get_transparency_location(image):'''获取基于透明元素裁切图片的左上角、右下角坐标'''# 1. 扫描获得最左边透明点和最右边透明点坐标#image = cv2.cvtColor(image, cv2.COLOR_BGR2BGRA) #图片为jpg格式时使用此行代码height, width, channel = image.shape  # 高、宽、通道数assert channel == 4  # 无透明通道报错first_location = None  # 最先遇到的透明点last_location = None  # 最后遇到的透明点first_transparency = []  # 从左往右最先遇到的透明点,元素个数小于等于图像高度last_transparency = []  # 从左往右最后遇到的透明点,元素个数小于等于图像高度for y, rows in enumerate(image):for x, BGRA in enumerate(rows):alpha = BGRA[3]if alpha != 0:if not first_location or first_location[1] != y:  # 透明点未赋值或为同一列first_location = (x, y)  # 更新最先遇到的透明点first_transparency.append(first_location)last_location = (x, y)  # 更新最后遇到的透明点if last_location:last_transparency.append(last_location)# 2. 矩形四个边的中点top = first_transparency[0]bottom = first_transparency[-1]left = Noneright = Nonefor first, last in zip(first_transparency, last_transparency):if not left:left = firstif not right:right = lastif first[0] < left[0]:left = firstif last[0] > right[0]:right = last# 3. 左上角、右下角upper_left = (left[0], top[1])  # 左上角bottom_right = (right[0], bottom[1])  # 右下角return upper_left[0], upper_left[1], bottom_right[0], bottom_right[1]if __name__ == '__main__':img = r'C:\Users\test\Desktop\png\f\04-23.png';#图片地址(路径不支持中文)image = cv2.imread(img, cv2.IMREAD_UNCHANGED)  # 读取图片地址#返回图片内容坐标box = get_transparency_location(image)print(box);

python 获取图片内容的坐标代码(图片格式为png)相关推荐

  1. 【python】批量按坐标裁剪图片、ImageJ批量修改图片格式

    一.批量按坐标裁剪图片代码 # -- coding: utf-8 -- import cv2 import osdef update(input_img_path, output_img_path): ...

  2. 使用 Python 获取 Linux 系统信息的代码

    From: http://www.jb51.net/article/52107.htm 在本文中,我们将会探索使用Python编程语言工具来检索Linux系统各种信息,需要的朋友可以参考下 哪个Pyt ...

  3. python 将MNIST数据集转为jpg图片格式

    下载的数据集格式是字节存储的,有时需要转为图片格式,以下以测试集为例子,说明python转换代码. IDX数据格式 这四个文件采用了IDX的文件格式,一种平铺直叙的方式: magic number s ...

  4. python自动保存ping结果_利用python获取Ping结果示例代码

    前言 本文主要跟大家分享了关于利用python获取Ping结果的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 -*- i ...

  5. python获取mac窗口坐标_[代码全屏查看]-Python3根据IP地址获取MAC地址

    [1].[代码] [Python]代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- import os import platform import ...

  6. python获取视频缩略图_python接收图片变成缩略图

    python图像处理库:Pillow初级教程 Image类 Image.resize()和Image.thumbnail()的区别 根据代码和代码注释, 这两个函数都是对图片进行缩放, 两者的主要区别 ...

  7. 用Python获取英雄联盟所有皮肤图片

    先来看一张图片. image.png 先讲解下思路,然后直接放源码,想要获取源码的同学直接拉到最下面就好. 1.爬虫第一步 首先要分析网页的DOM结构,就是英雄联盟官网,然后在下面找到英雄资料.然后在 ...

  8. python获取网页元素坐标_Python实战爬虫系统学习笔记一:解析网页中的元素

    学习python编写爬虫第一天,学会如何解析本地网页 第1步:使用用Beautiful Soup解析网页 Soup = BeautifulSoup(wb_data,'lxml') 第2步:描述爬取信息 ...

  9. python获取网页元素坐标_html网页元素在屏幕上的坐标获取

    今天在用python调用IE获取html网页元素在屏幕上的坐标,当然为了截图啦,(*^__^*) 嘻嘻-- xtop=ie.document.forms[i].elements[j].getBound ...

最新文章

  1. 【WP8】ResourceDictionary
  2. ISA2004升级到ISA2006需要注意的事项
  3. vim使用zsh_使用zsh,坚固的DevOps工具,Python库,vim,shell dotfile,Linux命令等来提高生产力
  4. 闲鱼发布2020租房报告:每天近万人在闲鱼找室友
  5. Spark中加载本地(或者hdfs)文件以及SparkContext实例的textFile使用
  6. java batik_使用BATIK解析SVG生成PNG图片
  7. keil(arm)中配置c99方法 及 C99特性
  8. 海思和展讯给中国芯片业界带来信心和希望,或成为下一个芯片巨头
  9. HBuilder开发app,扫描枪中,使用input输入框,然后点击扫描,获取不到条码!
  10. vc 判断哪个按键 被按下 消息 按键 状态
  11. c51语言访问绝对地址的方法,51单片机绝对地址访问的两种方法
  12. 课程项目:大学程序设计相关大作业汇总参考及源码地址
  13. RabbitMQ的Queue详解;
  14. Error: Corrupted zip: missing XXX bytes.
  15. Oracle 11g Release 1 (11.1) 单行函数——(返回字符值)字符函数
  16. 一套Python入门视频
  17. windows 2003中iis写入事件日志的问题。
  18. Linux(日志管理)
  19. 去除IntelliJ IDEA中重复代码报灰黄色下划波浪线
  20. (附源码)spring boot校园管理系统 毕业设计 021104

热门文章

  1. 2019年的最后两个月
  2. 【绿冰壶的脚本小屋】第二期:基于icmp协议开发简易ping工具
  3. 网络游戏的服务器在哪个文件夹,手里有一份网络游戏的服务端(预言OL) 现在缺少GM命令,在服务端里也找不到command这个文件...
  4. git灰度发布版本_灰度发布/蓝绿发布_部署到Kubernetes_选择部署方式_用户指南_CodePipeline - 阿里云...
  5. ram优化免root,安卓ram优化
  6. 西普学院web题总结
  7. 上海python学徒_Python进阶路径-从学徒到大师
  8. 基础元件学习——LC和LR电路
  9. StringUtil(字符串工具类)
  10. 小米3手机eclipse调试