2013-12-11 85 views
0

我想知道某個點是否位於某個圖像的「黑色」區域,如下圖所示。 visualisation使用哪種算法來確定座標是否位於特定區域?

暫時我創建大陣列這樣的(JavaScript的外部產生的):

area = [ [0,200], [0,201], [0,202], ..., [1,199], [1,200], ...] 

以指示哪個座標是黑色的。由於這對於較大區域(我正在談論的圖像大小約爲2000x2000像素)的內存變得非常大,您會選擇哪種算法,速度快而且不太需要內存以查明特定座標是否在黑色區?

+2

如果你有圖像,你可以把它放在一個畫布上,把像素取出來,然後檢查一下特定像素是什麼顏色的。 – Pointy

+1

http://stackoverflow.com/q/8751020/2282538 – Tyler

回答

2

您可以將圖像繪製到與圖像具有相同寬度和高度的畫布上,然後從畫布上的特定點(x | y)檢索pixelColor。

這裏是如何檢索pixcel顏色的線: Get pixel color from an image

這是我如何檢索來自mouseposition像素顏色和返回的ColorCode( '#RRGGBB'):

var pixelData = canvas.getContext('2d').getImageData(event.offsetX, event.offsetY, 1, 1).data; 
var hex= '#' + valToHex(pixelData[0]) + valToHex(pixelData[1]) + valToHex(pixelData[2]); 
相關問題