当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python skimage.draw.rectangle用法及代码示例


用法:

skimage.draw.rectangle(start, end=None, extent=None, shape=None)

生成矩形内像素的坐标。

参数

start元组

矩形的原点,例如 ([plane,] row, column)

end元组

矩形的终点([plane,] row, column).对于二维矩阵,矩形定义的切片为[start:(end+1)].任何一个结尾或者程度必须指定。

extent元组

绘制矩形的范围(大小)。例如:,([num_planes,] num_rows, num_cols).任何一个结尾或者程度必须指定。负范围是有效的,并且会产生一个沿相反方向的矩形。如果范围为负,则开始点不包括在内。

shape元组,可选

用于确定输出坐标的最大边界的图像形状。这对于裁剪超出图像大小的矩形很有用。默认情况下,不进行剪辑。

返回

coordsint 形状数组(Ndim,Npoints)

矩形中所有像素的坐标。

注意

通过将 start 和 end 或 extent 作为长度为 N 的元组传递,此函数可以应用于 N 维图像。

例子

>>> import numpy as np
>>> from skimage.draw import rectangle
>>> img = np.zeros((5, 5), dtype=np.uint8)
>>> start = (1, 1)
>>> extent = (3, 3)
>>> rr, cc = rectangle(start, extent=extent, shape=img.shape)
>>> img[rr, cc] = 1
>>> img
array([[0, 0, 0, 0, 0],
       [0, 1, 1, 1, 0],
       [0, 1, 1, 1, 0],
       [0, 1, 1, 1, 0],
       [0, 0, 0, 0, 0]], dtype=uint8)
>>> img = np.zeros((5, 5), dtype=np.uint8)
>>> start = (0, 1)
>>> end = (3, 3)
>>> rr, cc = rectangle(start, end=end, shape=img.shape)
>>> img[rr, cc] = 1
>>> img
array([[0, 1, 1, 1, 0],
       [0, 1, 1, 1, 0],
       [0, 1, 1, 1, 0],
       [0, 1, 1, 1, 0],
       [0, 0, 0, 0, 0]], dtype=uint8)
>>> import numpy as np
>>> from skimage.draw import rectangle
>>> img = np.zeros((6, 6), dtype=np.uint8)
>>> start = (3, 3)
>>>
>>> rr, cc = rectangle(start, extent=(2, 2))
>>> img[rr, cc] = 1
>>> rr, cc = rectangle(start, extent=(-2, 2))
>>> img[rr, cc] = 2
>>> rr, cc = rectangle(start, extent=(-2, -2))
>>> img[rr, cc] = 3
>>> rr, cc = rectangle(start, extent=(2, -2))
>>> img[rr, cc] = 4
>>> print(img)
[[0 0 0 0 0 0]
 [0 3 3 2 2 0]
 [0 3 3 2 2 0]
 [0 4 4 1 1 0]
 [0 4 4 1 1 0]
 [0 0 0 0 0 0]]

相关用法


注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.draw.rectangle。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。