У меня есть несколько изображений с формой в нем. И я хотел бы пометить эту форму для последующего кадрирования этих изображений. Я хочу, чтобы у каждого изображения была одна и та же рамка обрезки (разница в координатах между фигурами невелика).
У меня работает этот код:
from PIL import Image
import glob
import numpy as np
def Region():
path = glob.glob('label/*.tif')
L = [640,640,0,0]
for img_name in path:
x = []
y = []
img = Image.open(img_name)
pic = np.array(img)
for index, lit in enumerate(pic):
for indox, value in enumerate(lit):
if value == 0:
y.append(index)
x.append(indox)
if min(y) < L[0]:
L[0]=min(y)
if min(x) < L[1]:
L[1]=min(x)
if max(y) > L[2]:
L[2]=max(y)
if max(x) > L[3]:
L[3]=max(x)
print L
И это дает мне этот вывод [298, 258, 424, 386], который хорошо соответствует тому, что я хочу.
Но в порядке Мне нужно обработать много данных, и я уверен, что может быть лучший способ сделать это.
Поскольку я довольно новичок в программировании, я хотел бы знать, есть ли лучший способ выполнить эту задачу.
Любые советы?
Большое спасибо,
Привет
РЕДАКТИРОВАТЬ: если оператор L [3] ':'