问题描述:
在进行图像处理时,有时需要对图像上的坐标点进行提取,然后进行曲线拟合,如下图,但是提取的xy坐标会有许多重复的值,影响曲线拟合效果。这里提供三种方法,其它的方法大家可以自行补充。
warn:函数传入的图像是二值化之后的图像,像素只有0和255,如何二值化自行百度。

1:直接提取黑色的所有点坐标,该方法显而易见,会存在很多重复的x坐标,直接上代码:
def extract_line_position(image):
list_y = []
list_x = []
for i in range(len(image)):
for j in range(len(image[i])):
if image[i][j] == 0:
list_x.append(j)
list_y.append(len(image) - i)
return list_x, list_y

2 直接提取曲线的上边缘坐标,该方法,在曲线较粗或垂直向下时会失真,但是适用于现在的场景,代码如下:
def get_line_position(image):
list_x = []
list_y = []
for i in range(len(image[0])):
for j in range(len(image)):
if image[j][i] == 0:
list_x.append(i)
list_y.append(len(image)-j