最近业务上做有关设计人脸识别的业务 发现有的图片识别不到,查看人脸库图片是翻转的,查看具体图片信息发现是苹果设备拍摄的,为了识别成功 需要将图片进行翻转。
话不多说 下面展示解决方法
利用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 - Manual
还有多种情况 具体看PHP手册吧

版权声明:本文为php_lzr原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。