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


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


用法:

skimage.draw.circle_perimeter_aa(r, c, radius, shape=None)

生成抗锯齿圆周长坐标。

参数

r, cint

圆的中心坐标。

radiusint

圆的半径。

shape元组,可选

用于确定输出像素坐标的最大范围的图像形状。这对于超过图像大小的圆圈很有用。如果没有,则使用圆的完整范围。长度必须至少为 2。只有前两个值用于确定输入图像的范围。

返回

rr, cc, val(N,) ndarray (int, int 浮点数)

像素 index (rr,抄送) 和强度值 ()。img[rr, cc] = val.

注意

Wu 的方法是绘制抗锯齿圆。此实现不使用查找表优化。

使用函数draw.set_colorcircle_perimeter_aa 结果应用于彩色图像。

参考

1

X. Wu, “An efficient antialiasing technique”, In ACM SIGGRAPH Computer Graphics, 25 (1991) 143-152.

例子

>>> from skimage.draw import circle_perimeter_aa
>>> img = np.zeros((10, 10), dtype=np.uint8)
>>> rr, cc, val = circle_perimeter_aa(4, 4, 3)
>>> img[rr, cc] = val * 255
>>> img
array([[  0,   0,   0,   0,   0,   0,   0,   0,   0,   0],
       [  0,   0,  60, 211, 255, 211,  60,   0,   0,   0],
       [  0,  60, 194,  43,   0,  43, 194,  60,   0,   0],
       [  0, 211,  43,   0,   0,   0,  43, 211,   0,   0],
       [  0, 255,   0,   0,   0,   0,   0, 255,   0,   0],
       [  0, 211,  43,   0,   0,   0,  43, 211,   0,   0],
       [  0,  60, 194,  43,   0,  43, 194,  60,   0,   0],
       [  0,   0,  60, 211, 255, 211,  60,   0,   0,   0],
       [  0,   0,   0,   0,   0,   0,   0,   0,   0,   0],
       [  0,   0,   0,   0,   0,   0,   0,   0,   0,   0]], dtype=uint8)
>>> from skimage import data, draw
>>> image = data.chelsea()
>>> rr, cc, val = draw.circle_perimeter_aa(r=100, c=100, radius=75)
>>> draw.set_color(image, (rr, cc), [1, 0, 0], alpha=val)

相关用法


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