Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python测量图片中对象之间的距离_Python_Image_Processing_Measurement - Fatal编程技术网

使用python测量图片中对象之间的距离

使用python测量图片中对象之间的距离,python,image,processing,measurement,Python,Image,Processing,Measurement,我有一张用numpy数组表示的正方形的图片。正方形的宽度和水平位置是可变的,但颜色是固定的。在python中,如何计算这些(蓝色)正方形之间的宽度和距离 numpy\u数组[1]包含图像数组: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

我有一张用numpy数组表示的正方形的图片。正方形的宽度和水平位置是可变的,但颜色是固定的。在python中,如何计算这些(蓝色)正方形之间的宽度和距离

numpy\u数组
[1]
包含图像数组:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0   0   0   0   1 195 196 202 204 207
203 201 216 219 223 228 233 235 237 239 236 235 233 233 233 232 232 234
240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 239 241 239
240 239 241   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   2
1   4   1   1   2  87  93  93  93  93  93  93  93  93  47   1   2   0
1   2   3   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 199 199
199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199
199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199
199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199
199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199
199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199
199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199
199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199
199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199 199

199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199199

您可以通过以下方式计算所需的距离和宽度:

>>> da = np.insert(da, 0,0)
>>> da = np.append(da, len(a))
>>> np.diff(da)
array([120, 134, 121, 165])

如果数据有噪声(看起来是这样),可能需要调整阈值,
100
。如果我理解你,<代码> a < /> >与<代码> NuPyPyLoad(1)< /代码>相同:在你的问题中,你可以考虑求和或平均行来消除一些噪声。
numpy\u数组[1]
?从左蓝色正方形的右边缘到右蓝色正方形的左边缘,或者换句话说,第一个红色正方形的宽度
>>> da = np.insert(da, 0,0)
>>> da = np.append(da, len(a))
>>> np.diff(da)
array([120, 134, 121, 165])