Вот изображение с черной рамкой
У меня есть функция для очистки черных границ на изображении. Я хотел бы добавить идентификаторы изображений, которые имели черные границы и чья форма изменяется функцией.
Это функция удаления черной границы:
def black_border_removal(image_path):
image = cv2.imread(image_path,1)
ind_row = []
ind_col = []
for row in range(image.shape[0]):
if int(image[row, :].mean()) > 30:
ind_row.append(row) # if the row intensity not black append
img_new = image[ind_row, :] # Get only the rows that are not black
for col in range(img_new.shape[1]):
if int(img_new[:, col].mean()) > 30:
ind_col.append(col) # if the column intensity not black append
img_clear_border = img_new[:, ind_col] # Get only the columns that are not black
list_cleared_border = []
if image.shape != img_clear_border.shape:
list_cleared_border.append(image_path)
return(img_clear_border, list_cleared_border)
После этого я использовал этот код для хранения идентификаторов изображений
path_images = path/to/folder/of/images
for index, ids in enumerate(list_images):
# index = range(0,len(list))
# ids = names of the images
border_removed, names = black_border_removal(path_images + str(ids))
Когда я делаю это, список names
возвращается как пустой список. Это почему?
Мне также нужно удалить индекс строк и столбцов. Потому что мне придется удалить их и с изображений истинной земли.
Любая помощь приветствуется.