从图像中提取坐标到numpy
Extract coordinates from image to numpy
如何获取图像像素坐标,格式如下:
array([[x1 , y1],
[ x2, y2],
...,])
我需要这种特殊形式的它们作为另一个工具的输入 (tda-mapper)。
到目前为止,我想到了需要从图像中采样,但我还没有成功。如果有任何建议,我将不胜感激!
P.S。这只是一个用于测试的玩具示例。
您可以使用此处提到的解决方案之一将图像读入 numpy 数组:
然后你可以使用 numpy.argwhere
函数 numpy.argwhere(image_array > treshold)
到 return 灰度值大于某个阈值的索引
import matplotlib.pyplot as plt
import numpy as np
im = plt.imread('3zu5i.png')
#
def rgb2gray(rgb):
return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])
grey = rgb2gray(im)
coordinates = np.argwhere(grey < 0.99)
那应该return一个包含灰度值大于某个阈值的数组索引的数组
array([[ 41, 280],
[ 41, 281],
[ 41, 282],
...,
[372, 299],
[372, 300],
[372, 301]])
如何获取图像像素坐标,格式如下:
array([[x1 , y1],
[ x2, y2],
...,])
我需要这种特殊形式的它们作为另一个工具的输入 (tda-mapper)。
到目前为止,我想到了需要从图像中采样,但我还没有成功。如果有任何建议,我将不胜感激!
P.S。这只是一个用于测试的玩具示例。
您可以使用此处提到的解决方案之一将图像读入 numpy 数组:
然后你可以使用 numpy.argwhere
函数 numpy.argwhere(image_array > treshold)
到 return 灰度值大于某个阈值的索引
import matplotlib.pyplot as plt
import numpy as np
im = plt.imread('3zu5i.png')
#
def rgb2gray(rgb):
return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])
grey = rgb2gray(im)
coordinates = np.argwhere(grey < 0.99)
那应该return一个包含灰度值大于某个阈值的数组索引的数组
array([[ 41, 280],
[ 41, 281],
[ 41, 282],
...,
[372, 299],
[372, 300],
[372, 301]])