<p>最好的预处理方法是去除闪电效应</p>
<p>假设您具有以下图像:</p>
<p><a href="https://i.stack.imgur.com/dVobU.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/dVobU.jpg" alt="enter image description here"/></a></p>
<p>你怎么能找到那张脸?或者脸在哪里</p>
<p>在当前情况下,即使用人眼也无法在图像中找到人脸</p>
<p>如果我们应用<code>GaussianBlur</code>:</p>
<p><a href="https://i.stack.imgur.com/VDcYz.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/VDcYz.jpg" alt="enter image description here"/></a></p>
<p>至少我们可以看到脸在图像中的位置</p>
<pre><code>import cv2
img = cv2.imread('input.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
smooth = cv2.GaussianBlur(gray, (125,125), 0)
division = cv2.divide(gray, smooth, scale=255)
cv2.imwrite('output.jpg',division)
</code></pre>
<p>现在,我们如何定位人脸</p>
<p>上面是一张具有挑战性的图片,您可以在其中测试您的方法。因为上面的图像不能被Haar和<a href="https://pypi.org/project/face-recognition/" rel="nofollow noreferrer">face-recognition</a>检测到。如果您的方法找到它,您可以确定您的方法</p>
<p>例如:</p>
<p>下图可以通过类似于Haar的特征找到。因此,您的方法必须检测以下图像。否则,你应该改变你的方法</p>
<p><a href="https://i.stack.imgur.com/GSi0y.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/GSi0y.png" alt="enter image description here"/></a></p>
<ul>
<li>应用高斯模糊</li>
</ul>
<p><a href="https://i.stack.imgur.com/bIa40.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bIa40.jpg" alt="enter image description here"/></a></p>
<ul>
<li>探脸</li>
</ul>
<p><a href="https://i.stack.imgur.com/t3mLn.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/t3mLn.png" alt="enter image description here"/></a></p>
<ul>
<li>使用Haar</li>
</ul>
<pre><code>img = cv2.imread('face_shaded_division.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier('/opencv/data/haarcascades/haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(img, 1.3, 5)
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
cv2.imwrite('output.png', img)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
</code></pre>
<p><em><strong>可能的问题</strong></em>你为什么不提到面部对齐</p>
<p>最具挑战性的事实是人脸识别中的闪电效应。如果你的方法解决了这个问题,你所能做的就是用更多的样本训练你的网络,或者你可以使用预先训练好的网络</p>