图形包括线条、圆形、椭圆形、多边形等。

在skimage包中,绘制图形用的是draw模块,不要和绘制图像搞混了。

1、画线条

函数调用格式为:

skimage.draw.line(r1,c1,r2,c2)

r1,r2: 开始点的行数和结束点的行数

c1,c2: 开始点的列数和结束点的列数

返回当前绘制图形上所有点的坐标,如:

rr, cc =draw.line(1, 5, 8, 2)

表示从(1,5)到(8,2)连一条线,返回线上所有的像素点坐标[rr,cc]

from skimage importdraw,dataimportmatplotlib.pyplot as plt

img=data.chelsea()

rr, cc=draw.line(1, 150, 470, 450)

img[rr, cc]=255plt.imshow(img,plt.cm.gray)

如果想画其它颜色的线条,则可以使用set_color()函数,格式为:

skimage.draw.set_color(img, coords, color)

例:

draw.set_color(img,[rr,cc],[255,0,0])

则绘制红色线条。

from skimage importdraw,dataimportmatplotlib.pyplot as plt

img=data.chelsea()

rr, cc=draw.line(1, 150, 270, 250)

draw.set_color(img,[rr,cc],[0,0,255])

plt.imshow(img,plt.cm.gray)

2、画圆

函数格式:skimage.draw.circle(cy, cx, radius)

cy和cx表示圆心点,radius表示半径

from skimage importdraw,dataimportmatplotlib.pyplot as plt

img=data.chelsea()

rr, cc=draw.circle(150,150,50)

draw.set_color(img,[rr,cc],[255,0,0])

plt.imshow(img,plt.cm.gray)

3、多边形

函数格式:skimage.draw.polygon(Y,X)

Y为多边形顶点的行集合,X为各顶点的列值集合。

from skimage importdraw,dataimportmatplotlib.pyplot as pltimportnumpy as np

img=data.chelsea()

Y=np.array([10,10,60,60])

X=np.array([200,400,400,200])

rr, cc=draw.polygon(Y,X)

draw.set_color(img,[rr,cc],[255,0,0])

plt.imshow(img,plt.cm.gray)

我在此处只设置了四个顶点,因此是个四边形。

4、椭圆

格式:skimage.draw.ellipse(cy, cx, yradius, xradius)

cy和cx为中心点坐标,yradius和xradius代表长短轴。

from skimage importdraw,dataimportmatplotlib.pyplot as plt

img=data.chelsea()

rr, cc=draw.ellipse(150, 150, 30, 80)

draw.set_color(img,[rr,cc],[255,0,0])

plt.imshow(img,plt.cm.gray)

5、贝塞儿曲线

格式:skimage.draw.bezier_curve(y1,x1,y2,x2,y3,x3,weight)

y1,x1表示第一个控制点坐标

y2,x2表示第二个控制点坐标

y3,x3表示第三个控制点坐标

weight表示中间控制点的权重,用于控制曲线的弯曲度。

from skimage importdraw,dataimportmatplotlib.pyplot as plt

img=data.chelsea()

rr, cc=draw.bezier_curve(150,50,50,280,260,400,2)

draw.set_color(img,[rr,cc],[255,0,0])

plt.imshow(img,plt.cm.gray)

6、画空心圆

和前面的画圆是一样的,只是前面是实心圆,而此处画空心圆,只有边框线。

格式:skimage.draw.circle_perimeter(yx,yc,radius)

yx,yc是圆心坐标,radius是半径

from skimage importdraw,dataimportmatplotlib.pyplot as plt

img=data.chelsea()

rr, cc=draw.circle_perimeter(150,150,50)

draw.set_color(img,[rr,cc],[255,0,0])

plt.imshow(img,plt.cm.gray)

7、空心椭圆

格式:skimage.draw.ellipse_perimeter(cy, cx, yradius, xradius)

cy,cx表示圆心

yradius,xradius表示长短轴

from skimage importdraw,dataimportmatplotlib.pyplot as plt

img=data.chelsea()

rr, cc=draw.ellipse_perimeter(150, 150, 30, 80)

draw.set_color(img,[rr,cc],[255,0,0])

plt.imshow(img,plt.cm.gray)

python画椭圆形函数算法_python数字图像处理(12):基本图形的绘制相关推荐

  1. python画椭圆形函数算法_python如何使用matplotlib绘制椭圆的数学公式-百度经验

    python是一门非常实用的编程语言,matplotlib库是python的可视化的实现方式,matplotlib提供了对latex的实现,那怎样用matplotlib绘制椭圆的公式呢? 工具/原料 ...

  2. python中int函数规则_python数字规则和内建函数

    python字符串补充: 字符串对象须当作参数的方法(非str.capitalize()形式): 1.str(obj)--将对象转化为字符串 2.len(str)--计算字符串长度 3.max(str ...

  3. 怎么用python画sin函数图像_Python绘制正余弦函数图像的方法

    今天打算通过绘制正弦和余弦函数,从默认的设置开始,一步一步地调整改进,让它变得好看,变成我们初高中学习过的图象那样.通过这个过程来学习如何进行对图表的一些元素的进行调整. 01. 简单绘图 matpl ...

  4. python图片的高级处理_python数字图像处理(18):高级形态学处理

    形态学处理,除了最基本的膨胀.腐蚀.开/闭运算.黑/白帽处理外,还有一些更高级的运用,如凸包,连通区域标记,删除小块区域等. 1.凸包 凸包是指一个凸多边形,这个凸多边形将图片中所有的白色像素点都包含 ...

  5. python画k线图_Python+pyqtgraph:跟我学如何绘制股票K线图

    引言 pyqtgraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于其在内部实现方式上,使用了高速计算的numpy信号处理库以及Qt的GraphicsView ...

  6. python画3d圆形图_Python之Numpy:二元函数绘制/三维数据可视化/3D

    意义 在机器学习任务中选择计算模型或者学习数学时,可视化有助于研究函数值的变化趋势(观察收敛.分布.几何形状等),带来直观的感受. 源码 # 绘制二元函数 # 参考文献 # + python画二元函数 ...

  7. python 画三维函数图-Python之Numpy:二元函数绘制/三维数据可视化/3D

    意义 在机器学习任务中选择计算模型或者学习数学时,可视化有助于研究函数值的变化趋势(观察收敛.分布.几何形状等),带来直观的感受. 源码 # 绘制二元函数 # 参考文献 # + python画二元函数 ...

  8. python画函数曲线-使用Python画数学函数曲线

    import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.figure(1) # 创建图表1 plt.fig ...

  9. python 画任意函数曲线_使用Python画数学函数曲线

    import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.figure(1) # 创建图表1 plt.fig ...

最新文章

  1. HALCON示例程序classify_image_class_gmm.hdev使用GMM分类器分割彩色图片
  2. Linux下boost库的安装
  3. mysql自定义函数的分号_MySQL之自定义函数实例讲解
  4. Java使用正则表达式抓取日期和访问量
  5. microsoftstore连不上网_win10系统下微软商店连不了网如何解决
  6. WOE(weight of evidence, 证据权重)
  7. vs code搭建vue环境
  8. 寻找春天nbsp;九宫格日记-2014.07.14
  9. Apache FOP 将Java对象转换为pdf文件
  10. Python微信机器人之Python _ithcat 持续登陆错误 KeyError: ‘User’
  11. 基于51单片机的DS1302实时时钟程序
  12. linux mysql编译参数,Mysql 编译参数详解
  13. UG NX 10.0 GRIP 二次开发
  14. STM32学习(二)
  15. 小白的高德地图初体验(一) —— 打点
  16. Allegro中如何进行尺寸标注
  17. 线程池(线程池介绍与使用)
  18. Android使用SO库时要注意的一些问题
  19. 【android 9.0 系统】FOTA升级之后,设置出现乱码
  20. javaweb个人物品信息管理系统springboot+Ssm

热门文章

  1. 如何使用ThinkUp存档,搜索和查看推文统计信息
  2. 敏捷教练----Scrum-冲刺
  3. JavaScript Bom和Dom
  4. 艳情女星精通编程 自己设计个人网站(多图)
  5. javaweb网上点歌系统
  6. Windows自带宝藏便笺工具,很多人不知道,有效提高记忆力
  7. 密码学(Crypto)在线解密网站大全
  8. 手机excel能转换html,Excel格式的手机端和电脑端转换方法,一键就可以实现,不知可惜...
  9. 用友U8对接钉钉审批案例
  10. canal.deployer-1.0.24部署