小编写这篇文章的一个主要目的,主要就是给大家介绍python数字图像处理的一些相关介绍,介绍的内容主要是涉及到基本图像图形的一些绘制,具体的内容是哪些呢?下面就给大家详细的解答一下。
引言
图形包括线条、圆形、椭圆形、多边形等。
在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 import draw,data import matplotlib.pyplot as plt img=data.chelsea() rr,cc=draw.line(1,150,470,450) img[rr,cc]=255 plt.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 import draw,data import matplotlib.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 import draw,data import matplotlib.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 import draw,data import matplotlib.pyplot as plt import numpy 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 import draw,data import matplotlib.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 import draw,data import matplotlib.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 import draw,data import matplotlib.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 import draw,data import matplotlib.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)
综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/128822.html
摘要:之成为图像处理任务的最佳选择,是因为这一科学编程语言日益普及,并且其自身免费提供许多最先进的图像处理工具。该库包含基本的图像处理功能,包括点操作使用一组内置卷积内核进行过滤以及颜色空间转换。图像处理系统有时被称为图像处理的瑞士军刀。 showImg(https://segmentfault.com/img/remote/1460000019442221);编译:张秋玥、小七、蒋宝尚 本...
摘要:微积分微积分的课程我们也同样是推荐和的课程。还有一个斯坦福大学的统计学习入门英文字幕相当不错。所以,除了绘制数学图形外,学习数学就应该完全与编程有机结合。 无论是三大数学软件Matlab(通信、控制等工程例外)、Maple、Mathematica,还是三大统计软件Spass、Stata、SAS,这些可视化的软件本身就是编程的一个体现,它们在一定程度上降低了我们使用数学的门槛,但另一方面...
摘要:概述是使用开发的一个绘图库,是界进行数据可视化的首选库。可以通过图形示例来快速浏览所有支持的图形。最后,调用把绘制好的图形显示出来。对应于三个参数,表示行,表示列,表示位置。因此,表示在图表中总共有个图形,当前新增的图形添加到位置。 showImg(https://segmentfault.com/img/bV6EPD?w=542&h=130); 概述 Matplotlib 是使用 P...
摘要:书接上文浏览器内核之渲染基础硬件加速基础概念硬件加速技术是指使用的硬件能力为帮助渲染网页,在为的作用主要是用来绘制图形并且性能特别好。包含的节点表示的是使用硬件加速的元素或者技术。 showImg(https://segmentfault.com/img/remote/1460000016348971); 微信公众号:爱写bugger的阿拉斯加如有问题或建议,请后台留言,我会尽力解决你...
阅读 889·2023-01-14 11:38
阅读 833·2023-01-14 11:04
阅读 684·2023-01-14 10:48
阅读 1887·2023-01-14 10:34
阅读 890·2023-01-14 10:24
阅读 750·2023-01-14 10:18
阅读 479·2023-01-14 10:09
阅读 519·2023-01-14 10:02