получить результат из функции Python - PullRequest
0 голосов
/ 13 февраля 2019

Я новичок в питоне.Любая помощь будет принята.

Ввод verifyFace - это изображения format.jpg, поэтому я хочу получить euclidean_distance результат из функции verifyFace

epsilon = 6.384185791015625e-08
import matplotlib.pyplot as plt
import numpy as np

thisэто то, что я хочу (пример):

x = from verifyFace get euclidean_distance

второй вопрос после получения двух элементов, как я могу выбрать только второй элемент восстановить

 i=1
    if verifyFace(str(i)+"tst.jpg", "1train.jpg")=='0':
        a=0
    if verifyFace(str(i)+"tst.jpg", "1tst.jpg")=='1':
        b=1

1 Ответ

0 голосов
/ 13 февраля 2019

Блок if (cosine_similarity < epsilon): идет внутри определения функции, а не снаружи.Кроме того, вам нужно передать epsilon внутри функции

def verifyFace(img1, img2, epsilon):
    img1_representation = vgg_face_descriptor.predict(preprocess_image(img1))[0, :]
    img2_representation = vgg_face_descriptor.predict(preprocess_image(img2))[0, :]

    cosine_similarity = findCosineSimilarity(img1_representation, img2_representation)
    euclidean_distance = findEuclideanDistance(img1_representation, img2_representation)

    if (cosine_similarity < epsilon):
        print("verified... they are same person")
        return '1', euclidean_distance 
    else:
        print("unverified! they are not same person!")
        return '0', euclidean_distance 

РЕДАКТИРОВАТЬ:

Если вы хотите вернуть несколько значений из функции:

return '1', euclidean_distance 

и при получении:

ret_val, euclidean_distance = verifyFace(your_img1, your_img2, your_epsilon)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...