我有一个简单的黑白图像(所有像素都是255或0),我想要居中(图像实际上是我用来从另一个图像中提取信息的2D蒙版)。我想找到黑色像素的最大/最小行/列位置,以便我可以相对于图像的最大/最小边界居中。典型的面具看起来像这样:
最后,我想计算从红色圆圈点到图像边界的距离,并使用它来移动图像。我猜测在Python中有一种聪明的方法可以做到这一点,但我还没想到它。任何建议将不胜感激。
答案 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)