【发布时间】:2017-08-15 13:08:37
【问题描述】:
我想知道如何以 [x, y](像素位置)的形式转换一个 numpy 数组:
[[ 93 58]
[ 94 58]
[ 95 58]
...,
[ 99 142]
[100 142]
[101 142]]
到一个适用于 skimage 的表单。为此,我认为我需要将数组标准化为适合数据集的某个画布大小宽度 x 高度(例如 500 x 500)。
最终我想在这个阵列上执行边缘/轮廓检测。
http://scikit-image.org/docs/dev/auto_examples/edges/plot_contours.html
如何规范化这些数据,使其符合 skimage 要求的形式?
【问题讨论】:
-
.astype(one_of_those_dtypes)? -
公平的答案,我想我想知道如何将其标准化为相同的宽度、高度,以便我可以在 skimage 中应用函数(如 find_contours)。 .astype 转换 np 数组的类型,但不会使其成为有效的 skimage 格式。
-
那个数据是什么意思?是那些像素坐标,例如(行,列)?如果是这样,每个坐标处的像素值是多少?也许图像是 0s 和 1s 的布尔图像,数据给出了 1s 的坐标?请解释一下。
-
应该添加更多细节,它的像素坐标 [x,y]。其中 x 是位置 x,y 是位置 y。需要对这些数据进行规范化,以便将其视为 skimage 说 (500x500),在这种情况下,我们将在点 [93, 58], [94, 58]... 等处有像素。
-
正在考虑使用 matplotlib canvas.tostring_rgb() 并使用它来生成图像的 numpy 数组(标准化为适合数据集的某个宽度高度),但尚未在实践中使用
标签: python numpy matplotlib scikit-image