最近业务上做有关设计人脸识别的业务 发现有的图片识别不到,查看人脸库图片是翻转的,查看具体图片信息发现是苹果设备拍摄的,为了识别成功 需要将图片进行翻转。
话不多说 下面展示解决方法
利用PHP exif_read_data函数获取图片信息
echo "1111.jpg:<br />\n";
$exif = exif_read_data('1111.jpg', 0,true);
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";
if(isset($exif['IFD0']['Orientation'])) {
$source = imagecreatefromjpeg('1111.jpg');//读取图片流
//判断角度翻转
switch ($exif['IFD0']['Orientation']) {
case 8:
$image = imagerotate($source, 90, 0);
break;
case 3:
$image = imagerotate($source, 180, 0);
break;
case 6:
$image = imagerotate($source, -90, 0);
break;
}
//保存到本地
imagejpeg($image, './123/tmp.jpeg');
//释放内存
imagedestroy($image);
}
PHP官网对此函数的解释

在处理人脸识别业务中,遇到苹果设备拍摄的翻转图片,通过PHP的exif_read_data函数可以获取图片信息并实现翻转,确保正确识别。
最低0.47元/天 解锁文章
716

被折叠的 条评论
为什么被折叠?



