本文所用测试图像文件位于当前文件夹的testimages子文件夹中,并且图像以白色为背景。

from PIL import Image

import os

def searchLeft(width, height, im):

#从左向右扫描

for w in range(width):

#从下向上扫描

for h in range(height):

#获取图像指定位置的像素颜色

color = im.getpixel((w, h))

if color != (255, 255, 255):

#遇到并返回椭圆边界最左端的x坐标

return w

def searchRight(width, height, im):

#从右向左扫描

for w in range(width-1, -1, -1):

for h in range(height):

color = im.getpixel((w, h))

if color != (255, 255, 255):

#遇到并返回椭圆边界最右端的x坐标

return w

def searchTop(width, height, im):

for h in range(height-1, -1, -1):

for w in range(width):

color = im.getpixel((w,h))

if color != (255, 255, 255):

#遇到并返回椭圆边界最上端的y坐标

return h

def searchBottom(width, height, im):

for h in range(height):

for w in range(width):

color = im.getpixel((w,h))

if color != (255, 255, 255):

#遇到并返回椭圆边界最下端的y坐标

return h

#遍历指定文件夹中所有bmp图像文件,假设图像为白色背景,椭圆为其他任意颜色

images = [f for f in os.listdir('testimages') if f.endswith('.png')]

for f in images:

f = 'testimages\'+f

im = Image.open(f)

#获取图像大小

width, height = im.size

x0 = searchLeft(width, height, im)

x1 = searchRight(width, height, im)

y0 = searchBottom(width, height, im)

y1 = searchTop(width, height, im)

center = ((x0+x1)//2, (y0+y1)//2)

#把椭圆中心像素画成红色

im.putpixel(center, (255,0,0))

#保存为新图像文件

im.save(f[0:-4]+'_center.png')

im.close()

测试结果:

原始图像1

运行结果:

原始图像2:

运行结果:

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

阅读

好看

已推荐到看一看

你的朋友可以在“发现”-“看一看”看到你认为好看的文章。

已取消,“好看”想法已同步删除

已推荐到看一看

和朋友分享想法

最多200字,当前共字

发送

已发送

朋友将在看一看看到

确定

分享你的想法...

取消

分享想法到看一看

确定

最多200字,当前共字

发送中

网络异常,请稍后重试

微信扫一扫

关注该公众号

python椭圆识别_Python+pillow计算椭圆图形几何中心相关推荐

  1. Python+pillow计算椭圆图形几何中心

    本文所用测试图像文件位于当前文件夹的testimages子文件夹中,并且图像以白色为背景. from PIL import Image import os def searchLeft(width, ...

  2. python数学公式识别_python用re正则表达式实现数学公式计算

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:QiFeng Zhang import re __Author__ = "Faker ...

  3. python信用卡识别_python opencv实现信用卡的数字识别

    本项目利用python以及opencv实现信用卡的数字识别 前期准备 导入工具包 定义功能函数 模板图像处理 读取模板图像 cv2.imread(img) 灰度化处理 cv2.cvtColor(img ...

  4. python 图片识别_python识别图片文字

    滑稽研究所 python识别图片文字 哈喽,大家好呀,我是滑稽君.大家在写论文时可能经常碰到无法复制文字的文章.明明找到了需要的内容却无法直接复制使用,这让我们十分苦恼.那么本期滑稽君就告诉大家如何使 ...

  5. python 封闭图形面积_python实现计算图形面积

    用Python编写关于计算图形面积的代码实现,供大家参考,具体内容如下 #寒假打卡28天第7天 import math class Round(): #圆形 def __init__(self, R) ...

  6. python 图片识别_Python—识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  7. python指纹识别_python之图片指纹(唯一性的)

    介绍 每张图片都有一个唯一性的指纹.就好像人类的指纹可以识别出这个人类似. 图片指纹是什么?(图片哈希) 用图片指纹进行相似图片的检测.这种技术通常被称为"感知图像hash"或是简 ...

  8. 支持向量机python人脸识别_Python 数据科学手册 5.7 支持向量机

    5.7 支持向量机 支持向量机(SVM)是一种特别强大且灵活的监督算法,用于分类和回归. 在本节中,我们将探索支持向量机背后的直觉,及其在分类问题中的应用. 我们以标准导入开始: %matplotli ...

  9. python多项式运算_python – 用于计算“多项式系数”的numpy / scipy函数

    是否有任何python函数(可能来自numpy或scipy)计算扩展中x ** r的系数(1 xx ** 2 x ** 3 - x **(k-1))** n ,其中k> = 1,n> = ...

最新文章

  1. 独家 | 无人驾驶项目实战: 使用OpenCV进行实时车道检测
  2. 浅谈电子政务门户建设选型经验
  3. 重温Vue-router
  4. 一款好用的JS时间日期插件layDate
  5. Play! Framework 系列(一):初探 play 框架
  6. 利用python进行数据分析_资料 | 利用Python进行数据分析
  7. 出现23.97帧率的原因
  8. eShopOnContainers 知多少[12]:Envoy gateways
  9. 前端学习(2785):实现导航的基本结构
  10. mysql-5.5.56配置_mysql 5.5.56免安装版配置方法
  11. 给大一师弟师妹的一些建议
  12. jmeter constant timer 如何添加_JMeter性能测试入门篇
  13. linux ping策略打开_Linux Iptables允许或阻止ICMP ping请求
  14. JavaScript 中的函数式编程实践
  15. underscore.js依赖库函数分析一(遍历)
  16. 上传excel,并保存excel内容
  17. MySQL(3)-----DML数据库操作(上)
  18. cad指示箭头快捷键命令_47个快捷键+50个CAD技巧助你玩转CAD
  19. SSD目标检测网络tensorRT推理【附代码】
  20. 黑色星期五:纳斯达克五大科技股市值单日蒸发约1000亿美元

热门文章

  1. XSLT实现XML无极限树(精简版)[二] 解决没有递归出节点属性值总和的问题(JS实现)...
  2. 12日直播预告丨MySQL故障诊断常用方法手册
  3. DB2单表排序查询报错分析及解决办法
  4. 46个PPT下载丨QCon 2019年全球软件开发大会PPT
  5. 记一次找因Redis使用不当导致应用卡死bug的过程
  6. DBA突破35岁难题的三种策略
  7. 技术前沿:分布式缓存Redis Cluster在华泰证券的探索与实践
  8. 解密GaussDB(for Influx)时序洞察
  9. 论文解读丨图神经网络应用于半结构化文档的命名实体识别和关系提取
  10. 做数仓运维,你必须要认识这个眼观六路耳听八方的“能人”