2011-03-09 3 views
0

PHP를 사용하여 동작 탐지를 수행 할 수 있습니까?PHP 동작 탐지

저는 GD/Image 라이브러리 전문가가 아니지만 두 이미지간에 중요한 차이가 있는지 감지 할 수 없어 경고를 유발합니까?

답변

0

물론, imagecolorat과 같은 것을 사용하면 2 개의 다른 이미지에있는 픽셀의 색상을 얻을 수 있습니다.

그래, 네가 짐작할 수있는 다른 언어처럼 할 수있다.

4

이론적으로 이것을 할 수 있다고 생각합니다. 기본 이미지 비교가 가능합니다. 그러나 PHP로 이것을하는 것이 가장 좋은 방법은 아닙니다. 만약 당신이 컴파일 된 언어를 조사 할 필요가있는 프레임 별 비교를 빠르게하고 싶다면. 당신이 다음을 수행 할 수있는 기본 이미지 검출 방법으로

,

그레이 스케일 이미지, 모든 X 픽셀 샘플과 (임계 값을 사용) 비교. 그런 다음 변경 비율을 계산하십시오. 15 %를 넘으면 동작을 취할 수 있습니다.

그것은 원시적이고 기본적인 방법이지만 필요에 따라 작동 할 수 있습니다.

3

저는 최근에 이런 유형의 문제를 해결하기 위해 노력해 왔습니다. 필자는 두 가지 이미지를 지정된 수준의 해상도로 비교해보고 변경 사항이있는 경우 해당 정보를 수집합니다. 내 코드를 사용한 예.

Examples and explanation on my blogpost

View code and download from Github

그것은 아직 초보입니다하지만 끊임없이 웹캠에서 업데이트 이미지의 스트림에서 움직임을 읽어 내 큰 목표를 향한 시작입니다

// setup two images to work with 
$i1 = new SimpleImage("./img/0392.jpg"); 
$i2 = new SimpleImage("./img/0393.jpg"); 

$state = new State(15, 8, $i1); 
$state = $state->difference(new State(15, 8, $i2), rgbColorDistance); 
$state->abs()->denoiseStdDev()->scale(10)->round(0); 

// $box will hold an array (x,y,w,h) that indicates location of change 
$box = $state->getBoundingBox($i1->getWidth(), $i1->getHeight()); 
.