نسخ رمز رمز على النحو التالي:
وظيفة gethistograph (imagedata) {
var arr = [] ؛
لـ (var i = 0 ؛ i <64 ؛ i ++) {
arr [i] = 0 ؛
}
var data = imagedata.data ؛
var power4 = math.pow (4 ، 2) ؛
لـ (var i = 0 ، len = data.length ؛ i <len ؛ i += 4) {
var red = (Data [i] / 64) |
var green = (البيانات [i + 1] / 64) |
var Blue = (Data [i + 2] / 64) |
var index = Red * pow4 + Green * 4 + Blue ؛
arr [index] ++ ؛
}
إرجاع arr ؛
}
وظيفة جيب التمام (ARR1 ، ARR2) {
var axb = 0 ،
أ = 0 ،
ب = 0 ؛
لـ (var i = 0 ، len = arr1.length ؛ i <len ؛ i ++) {
AXB += ARR1 [i] * arr2 [i] ؛
a += arr1 [i] * arr1 [i] ؛
B += Arr2 [i] * arr2 [i] ؛
}
إرجاع AXB / (Math.sqrt (a) * Math.Sqrt (b)) ؛
}
وظيفة رمادية (imgdata) {
var data = imgdata.data ؛
لـ (var i = 0 ، len = data.length ؛ i <len ؛ i += 4) {
var gray = parseint ((data [i] + data [i + 1] + data [i + 2]) / 3) ؛
البيانات [i + 2] = البيانات [i + 1] = البيانات [i] = رمادي ؛
}
إرجاع Imgdata ؛
}
هناك مشكلة إذا تمت مقارنة الصورة الأصلية ، فمن الضروري أن تكون متشابهًا.