如何用php自动裁剪到图像的正确位置
如何使用php裁剪图像,使其与图像中用户的脸完全一致……以下是我的代码如何用php自动裁剪到图像的正确位置,php,Php,如何使用php裁剪图像,使其与图像中用户的脸完全一致……以下是我的代码 function resizeImage($image,$width,$height,$scale) { list($imagewidth, $imageheight, $imageType) = getimagesize($image); $imageType = image_type_to_mime_type($imageType); $newImageWidth = ceil($width *
function resizeImage($image,$width,$height,$scale) {
list($imagewidth, $imageheight, $imageType) = getimagesize($image);
$imageType = image_type_to_mime_type($imageType);
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
switch($imageType) {
case "image/gif":
$source=imagecreatefromgif($image);
break;
case "image/pjpeg":
case "image/jpeg":
case "image/jpg":
$source=imagecreatefromjpeg($image);
break;
case "image/png":
case "image/x-png":
$source=imagecreatefrompng($image);
break;
}
imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height);
switch($imageType) {
case "image/gif":
imagegif($newImage,$image);
break;
case "image/pjpeg":
case "image/jpeg":
case "image/jpg":
imagejpeg($newImage,$image,90);
break;
case "image/png":
case "image/x-png":
imagepng($newImage,$image);
break;
}
chmod($image, 0777);
return $image;
}
这是这个函数的调用
$wwidth = getWidth($new_small_image);
$hheight = getHeight($new_small_image);
$x1 = $wwidth/2;
$y1 = $hheight/2;
$x2 = 0;
$y2 = 0;
$w = 50;
$h = 50;
$scale = $thumb_width/$w;
resizeThumbnailImage($new_small_image, $new_small_image,$w,$h,$x1,$y1,$scale);
但这是裁剪图像的精确中心,这是不对的,我想裁剪图像到图像的正面
这是裁剪后的结果
请让我知道实际问题是什么……您需要通过类似OCR的软件检测图像 如果这是用户图片的一部分,您必须读取所有像素并以%构建可能性
最好让他们选择缩略图;) 您计划如何定义面部区域?否则您希望如何定义面部区域?至少需要十年的时间,PHP中才会出现有价值的自动人脸识别。