Обрезать изображение с помощью маски и Python scikit-image - PullRequest
1 голос
/ 18 июня 2019

Я работаю над обработкой изображения, и у меня есть следующий код для получения выпуклой оболочки изображения:

from skimage import io
from skimage.color import rgb2gray
from skimage.morphology import convex_hull_image

original = io.imread('test.png')

image = rgb2gray(original)

chull = convex_hull_image(image)

Я хочу обрезать исходное изображение в соответствии с выпуклой оболочкой, чтобы устранитьпустое пространство, которое находится на изображении (оригинальное изображение прилагается), и имеет изображение, которое содержит только то, что находится внутри выпуклой оболочки.Как можно обрезать исходное изображение, чтобы уменьшить его размер?(удаляя пустое пространство слева и справа)

Спасибо.

test img

1 Ответ

2 голосов
/ 18 июня 2019

Вы можете использовать мин и макс, чтобы найти границу изображения выпуклой оболочки.

import numpy as np
[rows, columns] = np.where(chull)
row1 = min(rows)
row2 = max(rows)
col1 = min(columns)
col2 = max(columns)
newImage = original[row1:row2, col1:col2]
...