PHP 利用phpexif_read_data函数获取iPhone 手机拍摄的图片 进行翻转照片

        最近业务上做有关设计人脸识别的业务 发现有的图片识别不到,查看人脸库图片是翻转的,查看具体图片信息发现是苹果设备拍摄的,为了识别成功 需要将图片进行翻转。

话不多说 下面展示解决方法

利用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版权协议,转载请附上原文出处链接和本声明。