2010-01-02 22 views
0

我怎样才能用PHP它的准确裁剪图像的用户图像的脸....这里是我的代码....如何自动作物对地方形象的用PHP

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); 

但裁剪图像的正中心,这是不对的,我想裁剪图像到人脸图像如

Pic not found http://www.wajdani.com/pind/wajdanians/avatars/FA5RRS10N10DOXK5-1_810JL54S8W22T10A416346_104115209606932_100000253614165_97589_5729392_n.jpg

,这是裁剪后

not found http://www.wajdani.com/pind/wajdanians/avatars/thumb_FA5RRS10N10DOXK5-1_810JL54S8W22T10A416346_104115209606932_100000253614165_97589_5729392_n.jpg

请让我知道什么是真正的问题,结果....

+0

你打算如何定义脸部区域? –

回答

2

您需要通过OCR软件都检测图像。

如果这是用户图片的一部分,您必须读取所有像素并构建可能性。

最好让他们选择一个缩略图;)

+0

你的意思是让用户从他们的大牌中选择自己的缩略图区域.... ?? –

+1

你还想如何定义面部区域?至少要等十年后才能在PHP中进行有价值的自动人脸识别。 –