Я изо всех сил пытаюсь найти правильный подход к изменению размера и кадрированию и изображению, с зоной фокусировки. В моем случае зона фокусировки - это лицо, обнаруженное на изображении, и мне нужно убедиться, что эта область видна в обрезанной версии.
У меня есть зона фокусировки, заданная, например,. face_height, face_width, face_center_x и face_center_y. Эти значения являются процентами размеров исходного изображения.
То, что я хочу сделать, это получить пример. 60x60 миниатюра. Обычный подход заключается в изменении размера, чтобы высота или ширина изображения была равна 60px, а затем обрезали 60x60 от центра, как показано ниже:
mogrify -resize 60x -gravity 'Center' -crop 60x60 image.jpg
Какой подход можно использовать, чтобы вместо этого сфокусировать мой урожай на заданном участке?
Я думаю о решении, которое включает несколько путей:
- Если область лица больше, чем требуемый эскиз, измените размер изображения настолько, чтобы сделать все лицо видимым в 60x60 пикселей, а затем обрежьте
- Если область лица меньше, чем требуемый эскиз, обрезайте «расширяйте» область моего лица, пока мой требуемый большой палец не сможет поместиться внутри области. Тогда урожай. Думаю, мне нужно убедиться, что это не выходит за рамки исходного изображения.
Есть ли более разумный подход? Можете ли вы попробовать сделать пример кода?
Спасибо!