在python

时间:2018-01-31 14:45:21

标签: image python-2.7

我有一个简单的黑白图像(所有像素都是255或0),我想要居中(图像实际上是我用来从另一个图像中提取信息的2D蒙版)。我想找到黑色像素的最大/最小行/列位置,以便我可以相对于图像的最大/最小边界居中。典型的面具看起来像这样: enter image description here

最后,我想计算从红色圆圈点到图像边界的距离,并使用它来移动图像。我猜测在Python中有一种聪明的方法可以做到这一点,但我还没想到它。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

以下是我解决这个问题的方法。黑色值为255,白色值为0.如果您在两个轴的方向上平均值并将np.nonzero应用于结果,则可以获得最大值和最小值的索引。因此,如果图像的名称是trench_filter,则以下将找到min和max:

import os, sys, shutil. os.path

path = filedialog.askdirectory()

def saveData():
        serial_number = input('Scan Barcode: ')
        folder_name = print('Folder Name:', serial_number)
        path_new = os.path.join(path, '%s' % (serial_number))
        if not os.path.exists(path_new):
                os.makedirs(path_new)
        shutil.move('C:/files/TOTAL.csv', path_new)
        shutil.move('C:/files/enviro.csv', path_new)
        print('The data has been stored in the following directory:', path_new)