Когда вы используете в
setDragImage
, Javascript будет просто использовать фактические данные растрового изображения, игнорируя другие атрибуты, такие как width
. Проверьте спецификации .
Однако, если вы сделаете что-то вроде этого:
function handleDragStart(e) {
var dragIcon = document.createElement('img');
dragIcon.src = 'http://jsfiddle.net/favicon.png';
dragIcon.width = '100';
var div = document.createElement('div');
div.appendChild(dragIcon);
document.querySelector('body').appendChild(div);
e.dataTransfer.setDragImage(div, -10, -10);
}
Вы увидите, что тень перетаскивания теперь содержит большее изображение. Это происходит потому, что, когда мы используем другие видимые HTML-элементы (поэтому я добавил DIV к телу), браузер будет использовать свое визуализированное представление в качестве изображения перетаскивания.
Для одного лица используйте флаг CV_HAAR_FIND_BIGGEST_OBJECT в качестве последнего параметра в Detection MultiSale.
Но каскады Хаара сейчас не лучший выбор для распознавания лиц. В OpenCV 4.0 разработчики удаляют код для обучения каскадам Хаара - они рекомендуют использовать DNN. Например, здесь .
И второе: разработчики OpenCV создали инфраструктуру с открытым исходным кодом для вывода DNN - OpenVINO и множество предварительно обученных моделей (для распознавания лиц тоже). Если вы хотите иметь самый быстрый детектор лиц на процессоре, чем вам нужно использовать OpenVINO.