В обчислювальній геометрії під опуклою оболонкою фігули розуміють найменший опуклий контур який містить цю фігуру. В ОpenCV є функція cv2.convexHull яка шукає опукну оболонку контура, який були попередньо знайдений функцією cv2.findContours. Після цього додатково потрібно намалювати цей контур, і при потребі заповнити його внутрішність.
Заповнений опуклий контур бінарного зображення реалізує функція convex_hull_image бібліотеки skimage. Приклад використання
from skimage import morphology
img = cv2.imread('Ji.jpg',0)
img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)[1]
img=np.array(img,dtype=bool)
ch=convex_hull_image(img)(img)
Опукла оболонка
Немає коментарів:
Дописати коментар