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