1
Fork 0

Implement getSamplesFromDatabase

This commit is contained in:
viktorstrate 2021-02-15 20:31:17 +01:00
parent abb80ae425
commit 4b0365e8aa
No known key found for this signature in database
GPG Key ID: 3F855605109C1E8A
1 changed files with 15 additions and 2 deletions

View File

@ -46,12 +46,25 @@ func InitializeFaceDetector(db *gorm.DB) error {
}
func getSamplesFromDatabase(db *gorm.DB) (samples []face.Descriptor, cats []int32, err error) {
samples = make([]face.Descriptor, 0)
cats = make([]int32, 0)
var imageFaces []*models.ImageFace
if err = db.Find(&imageFaces).Error; err != nil {
return
}
samples = make([]face.Descriptor, len(imageFaces))
cats = make([]int32, len(imageFaces))
for i, imgFace := range imageFaces {
samples[i] = face.Descriptor(imgFace.Descriptor)
cats[i] = int32(imgFace.FaceGroupID)
}
return
}
// DetectFaces finds the faces in the given image and saves them to the database
func (fd *FaceDetector) DetectFaces(media *models.Media) error {
if err := fd.db.Model(media).Preload("MediaURL").First(&media).Error; err != nil {
return err