>  기사  >  백엔드 개발  >  users_php 기술로 업로드된 이미지를 필터링하는 PHP 스크립트 작성

users_php 기술로 업로드된 이미지를 필터링하는 PHP 스크립트 작성

WBOY
WBOY원래의
2016-05-16 20:12:011086검색

예시 다운로드

Bakr Alsharif가 개발한 매우 유용한 클래스 파일을 phpclasses.org에서 우연히 발견했습니다. 이 클래스 파일은 개발자가 피부 픽셀을 기반으로 누드 사진을 감지하는 데 도움이 됩니다.

이미지의 다양한 부분에 사용된 색상을 분석하여 사람의 피부색과 일치하는지 판단합니다.

분석 결과 이미지에 과도한 노출이 포함될 가능성을 반영한 점수를 반환합니다.

또한 특정 피부색을 사용하여 픽셀을 표시하여 분석된 이미지를 출력할 수 있습니다.

현재 PNG, GIF, JPEG 이미지를 분석할 수 있습니다.

다음은 이 PHP 클래스를 사용하는 방법을 보여줍니다.
누드 필터가 포함된 nf.php 파일부터 시작해 보겠습니다.

include ('nf.php');

다음으로 ImageFilter라는 새 클래스를 만들고 $filter라는 변수에 넣습니다.

$filter = new ImageFilter;

이미지의 점수를 가져와서 $score 변수에 넣습니다.

$score = $filter -> GetScore($_FILES['img']['tmp_name']);

이미지 점수가 60% 이상이면 (경고) 메시지를 표시합니다.


if($score >= 60){
/*Message*/
}

모든 PHP 코드는 다음과 같습니다.

 
<?php
/*Include the Nudity Filter file*/
include ('nf.php');
/*Create a new class called $filter*/
$filter = new ImageFilter;
/*Get the score of the image*/
$score = $filter -> GetScore($_FILES['img']['tmp_name']);
/*If the $score variable is set*/
if (isset($score)) {
  /*If the image contains nudity, display image score and message. Score value if more than 60%, it is considered an adult image.*/
  if ($score >= 60) {
    echo "Image scored " . $score . "%, It seems that you have uploaded a nude picture.";
  /*If the image doesn't contain nudity*/  
  } else if ($score < 0) {
    echo "Congratulations, you have uploaded an non-nude image.";
  }
}
?>

마크업 언어

기본 HTML 형식을 사용하여 이미지를 업로드할 수 있습니다.

<form method="post" enctype="multipart/form-data" action="<&#63;php echo $SERVER['PHP_SELF'];&#63;> ">
Upload image: 
<input type="file" name="img" id="img" />
<input type="submit" value="Sumit Image" />
</form>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.