如何利用AWS Rekognition人脸检测结果裁剪图像中的人脸?
能否利用AWS Rekognition的人脸检测结果裁剪图像提取人脸?
完全可以借助AWS Rekognition返回的BoundingBox数据来裁剪原始图像,精准提取人脸区域,护照、驾照这类证件照片的人脸提取场景完全适用。
BoundingBox参数说明与像素转换
BoundingBox里的所有数值都是相对原始图像尺寸的比例值,需要先转换成像素坐标才能用于裁剪:
Width:人脸区域宽度占原始图像宽度的比例Height:人脸区域高度占原始图像高度的比例Left:人脸区域左上角到图像左边缘的水平距离比例Top:人脸区域左上角到图像上边缘的垂直距离比例
假设原始图像的像素宽度为img_width,像素高度为img_height,转换公式如下:
- 人脸区域像素宽度:
img_width * Width - 人脸区域像素高度:
img_height * Height - 人脸区域左上角X坐标:
img_width * Left - 人脸区域左上角Y坐标:
img_height * Top
实际计算示例
拿你提供的响应数据举例,假设原始图像是1000×800像素:
- 人脸像素宽度:
1000 * 0.3687 ≈ 369 - 人脸像素高度:
800 * 0.5219 ≈ 418 - 左上角X坐标:
1000 * 0.6035 ≈ 604 - 左上角Y坐标:
800 * 0.4303 ≈ 344
得到这些像素坐标后,用任意图像处理工具(比如Python的Pillow、OpenCV,或者其他语言的图像处理库)按照这个矩形区域裁剪,就能得到独立的人脸图像。
内容的提问来源于stack exchange,提问作者Jayashri Shinde
相关产品推荐
相关产品推荐

