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