2011-03-09 81 views
0

是否可以使用php實現運動檢測?Php運動檢測

我不是GD /圖像庫專家,但不應該有可能檢測兩幅圖像之間是否存在顯着差異,並且會觸發警告?

回答

0

當然,你可以使用類似imagecolorat的東西來獲取來自2個不同圖像像素的顏色。

所以是的,你可以這樣做,就像我猜想的任何其他語言。

4

我覺得理論上你可以做到這一點,你可以想出一個基本的圖像比較。但是,在PHP中這樣做並不是最好的選擇,如果你想快速逐幀比較,你需要查看一種編譯語言。

正如你可以做到以下幾點基本的圖像檢測方法,

灰度圖像,每個樣本x像素和比較(使用閾值)。然後計算變化百分比,如果它超過15%,你可以採取行動。

這是一種原始的和基本的方法,但它應該像它會適合您的需求。

3

我最近一直在研究這類問題。我設法以任何指定的級別分辨率將兩個圖像進行比較,並收集有關發生變化的位置的信息(如果有)。一個使用我的代碼的例子。

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

Examples and explanation on my blogpost

View code and download from Github

它仍然是初步的,但它是對我不斷從攝像頭更新圖像的流中讀取運動更大的目標開始。