Python 人脸识别预处理

Python 人脸识别预处理,python,image,opencv,image-processing,face-recognition,Python,Image,Opencv,Image Processing,Face Recognition,我在做一个人脸识别项目。为了提高算法的准确性,我们尝试进行一些预处理,如下所述: 基于此,我们制定了以下代码: def dif_gaussian(img, sigma0 = 1.0, sigma1 = 2.0): blur1 = cv2.GaussianBlur(img,(0,0),sigma0) blur2 = cv2.GaussianBlur(img,(0,0),sigma1) result = cv2.subtract(blur1,blur2) retur

我在做一个人脸识别项目。为了提高算法的准确性,我们尝试进行一些预处理,如下所述:

基于此,我们制定了以下代码:

def dif_gaussian(img, sigma0 = 1.0, sigma1 = 2.0):
    blur1 = cv2.GaussianBlur(img,(0,0),sigma0)
    blur2 = cv2.GaussianBlur(img,(0,0),sigma1)
    result = cv2.subtract(blur1,blur2)
    return np.uint8(result)

def gamma_correction(img, correction):
    temp = img/255.0
    result = cv2.pow(temp, correction)
    return np.uint8(result*255)



predict_image_pil = Image.open('image.jpg').convert('L')
predict_image = np.array(predict_image_pil, 'uint8')

predict_gamma = gamma_correction(predict_image,0.2)

predict_gauss = dif_gaussian(predict_gamma,1.0,2.0)

predict_hist = cv2.equalizeHist(predict_gauss)

但是我们得到的图像,特别是高斯部分的差异,与文章中显示的图像有很大的不同。在处理过程中是否有任何我看不到的错误?

能否添加更多有关如何保存/查看生成图像的详细信息?我正在使用cv2.imshow查看每个步骤中的图像。现在,我只是运行预处理,并试图得到与本文类似的结果。图像没有被保存。看这里:-我想,你错过了结尾的pow()和tanh()步骤。然后,我想你应该规范化()结果,而不是做另一个直方图均衡。我遵循了bytefish's Github上使用的整个过程,得到了这个结果:这与预期结果相差甚远……嗨@LincolnAlves,你解决了你的问题了吗。我正在使用人脸识别库,该库工作正常,但我认为我可以使用预处理方法提高准确性,所以我很好奇你是否能够做到。你能添加更多关于如何保存/查看结果图像的详细信息吗?我正在使用cv2.imshow在每个步骤中查看图像。现在,我只是运行预处理,并试图得到与本文类似的结果。图像没有被保存。看这里:-我想,你错过了结尾的pow()和tanh()步骤。然后,我想你应该规范化()结果,而不是做另一个直方图均衡。我遵循了bytefish's Github上使用的整个过程,得到了这个结果:这与预期结果相差甚远……嗨@LincolnAlves,你解决了你的问题了吗。我正在使用人脸识别库,它工作得很好,但我认为我可以通过预处理方法提高准确性,所以我很好奇你们是否能够做到。?