# Face recognition with LBP descriptors.
# See Timo Ahonen's "Face Recognition with Local Binary Patterns".
#
# Before running the example:
# 1) Download the AT&T faces database http://www.cl.cam.ac.uk/Research/DTG/attarchive/pub/data/att_faces.zip
# 2) Exract and copy the orl_faces directory to the SD card root.
#AT&T faces库都是pgm后缀的图片,其他图片格式不支持,
#该AT&T faces库已经在文件夹里面,把该库解压并命名为att_faces,也可以是其他的命名,下面的路径要根据你的命名一样。
#待续
import sensor, time, image
SUB = "s1"
NUM_SUBJECTS = 5
NUM_SUBJECTS_IMGS = 10
#img = image.Image("/att_faces/%s/zhuren.pgm"%(SUB)).mask_ellipse()
img = image.Image("/att_faces/%s/1.pgm"%(SUB))# mask_ellipse()在API中并未找到,不用这个并不影响
d0 = img.find_lbp((0, 0, img.width(), img.height())) #从感兴趣的区域提取LBP(本地二进制模式)关键点
img = None #初始化
print("")
for s in range(1, NUM_SUBJECTS+1):
dist = 0
for i in range(2, NUM_SUBJECTS_IMGS+1):
# img = image.Image("/att_faces/s%d/%d.pgm"%(s, i)).mask_ellipse()
img = image.Image("/att_faces/s%d/%d.pgm"%(s, i))
d1 = img.find_lbp((0, 0, img.width(), img.height()))
dist += image.match_descriptor(d0, d1)
#对于LBP描述符,该函数返回一个表示整数的整数,两个描述符之间的差异。 然后你可以对此进行阈值/比较距离度量。
#距离是衡量相似度的指标。该越接近0,LBP关键点匹配越好。
print("Average dist for subject %d: %d"%(s, dist/NUM_SUBJECTS_IMGS))
Open MV 例程里这个代码那一部分应该放对比的照片,那一部分放被对比的照片?求指教万分感谢