Python Dlib для обрезки с помощью лицевой маркировки

blockquote>

background-position

Initial value 0% 0%

относится к размеру области фонового позиционирования минус размер фонового изображения; size относится к ширине для горизонтальных смещений и к высоте для вертикальных смещений

blockquote>

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

Пример:

Рассмотрим изображение с размером 500X500 px; Использование background-position: 50% 50%; Если ваш div имеет ширину 600px; ваше фоновое изображение будет сдвинуто вправо на 50% * (600px - 500px), которое равно 50px. Аналогично, если div имеет высоту 700px, ваше фоновое изображение будет сместиться на 50% * (700px - 500px), то есть 100px

div{
    background-image: url(https://i.imgur.com/gcnJ2Qi.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    border: solid grey;
    width: 600px;
    height:700px;
}

В случае, если div уже, чем изображение Теперь вы являетесь элементом div 300X400 px, и вы хотите поместить ваше фоновое изображение так же, как и раньше (50px right and 100px down) Вам нужно будет указать отрицательный background-position: -25% -100%; Поскольку -25% * (300-500) = 50px и -100% (400-500) = 100px

div{
    background-image: url(https://i.imgur.com/gcnJ2Qi.png);
    background-repeat: no-repeat;
    background-position: -25% -100%;
    border: solid grey;
    width: 300px;
    height:400px;
}

В случае, когда оба div и изображения имеют одинаковый размер: любой процент, указанный вами в background-position, будет умножен на ноль. И изображение будет всегда выровнено с верхним левым углом div. Чтобы исправить это, уменьшите или увеличьте изображение путем сброса background-size:80% or 120%;

div{
    background-image: url(https://i.imgur.com/gcnJ2Qi.png);
    background-repeat: no-repeat;
    background-position: 50% 100%;
    border: solid grey;
    width: 500px;
    height:500px;
    background-size:80%;
}

Документы

0
задан eyllanesc 16 January 2019 в 06:56
поделиться

1 ответ

Лицевые ориентиры сохраняются в shape. Например, shape[0][0] - это x-координата 1-й точки, shape[0][1] - y-координата 1-й точки и т. Д. Если вы хотите нарисовать прямоугольник с координатами 34, 37 и 46:

cv2.rectangle(image,(shape[36][0], shape[36][1]), (shape[45][0],shape[33][1]), (255,0,0), 1)

enter image description here

0
ответ дан Ha Bom 16 January 2019 в 06:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: