我有一个存储为numpy数组的photograph of a retina。我将用这个2D numpy数组来表示这个图像(我的实际数组要大得多,有3个颜色通道,值是浮点数,而不是所有的0
或1
):
array([[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 1, 1, 1, 1, 1, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0]])
字符串
我如何投影圆(以某种方式拉伸边缘?),以便它成为一个正方形而不被裁剪?所以它看起来像这样:
array([[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0]])
型
基本上,我正在寻找一个Python库,它可以做这个图像中的保角Map
的数据
2条答案
按热度按时间bqucvtff1#
为此使用
squircle
(免责声明:我写的)字符串
有3种不同的方法来转换圆/正方形:
"fgs"
、"stretch"
和"elliptical"
它不处理椭圆和矩形,但你可以通过对图像进行上采样来做到这一点,天真地将其压缩成一个正方形,在其上运行squircle并将其重新压缩成一个矩形。
您可以使用
型
cld4siwp2#
您可以使用行和列中非零元素的最大和最小索引来获取1的范围,然后基于此范围填充数组索引:
字符串