arnaucube
arnaucube/numberImgRecognitionPublic Self-hosted repository
numberImgRecognition/goVersion/imgOperations.go
goVersion/imgOperations.goRaw
 1package main
 2
 3func comparePixels(p []int, q []int) int {
 4	numCoincidences := 0
 5	for i := 0; i < len(p); i++ {
 6		if p[i] == q[i] {
 7			numCoincidences++
 8		}
 9	}
10	return numCoincidences
11}
12
13func compareImgs(a imgRGBA, b imgRGBA) int {
14	numCoincidences := 0
15
16	for i := 0; i < len(a); i++ {
17		numCoincidences = numCoincidences + comparePixels(a[i], b[i])
18	}
19	return numCoincidences
20}
21
22func analyzeImg(examplesImg map[string][]imgRGBA, timg imgRGBA) map[string]int {
23	numCoincidences := make(map[string]int)
24
25	for k, imgs := range examplesImg {
26		numCoincidences[k] = 0
27		//fmt.Println(k)
28		for _, img := range imgs {
29			numCoincidences[k] = numCoincidences[k] + compareImgs(img, timg)
30		}
31	}
32	return numCoincidences
33}