2015-10-01 35 views
1

我的問題似乎是一個非常明顯的問題,但我找不到一個好的解決方案。WebGL和JavaScript應用程序中的顏色跟蹤

我正在研究檢測攝像頭流中運動的應用程序。該插件是用JavaScript和WebGL編寫的。爲此,它的工作相當不錯。

我想用顏色跟蹤和ultimatley對象識別來擴展應用程序。

現在,顏色檢測只是將給定的顏色和相機紋理傳遞給着色器。着色器將紋理和顏色轉換爲CIELAB空間並檢查歐幾里得距離(在A軸和B軸上,而不是亮度分量)。如果它在給定的距離之內,紋理保持顏色,否則片段被設置爲黑色。結果幾乎「沒問題」。

所以我的問題是,是否有更強大和更好的方法來找到這些顏色? 我選用的CIELAB空間,因爲它是有點不變的陰影等

編輯: 看來,最大的問題是,我使用高斯濾波器來降低視頻圖像的噪點,這導致較暗的圖像。即使LAB如所述「對陰影等有些不變」,但它使得檢測效率較低。所以我猜測我需要一種不同的方式來減少圖像中的噪點。我只嘗試了使用最後5幀的空間中值濾波器。但它不夠好。所以更好的降噪解決方案將受到很大的讚賞。

問候

+0

一些代碼和例子會很有用。 –

回答

0

您需要規範化高斯濾波器內核值以防止圖像變暗/增亮 - 你可以看看這個gaussian blur tutorial。您也可以嘗試使用對稱最近鄰居或科威特過濾器。

關於色彩跟蹤,在我看來,你也可以使用HSV色彩空間。