- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
正如我在主题中所说的,下面的代码使用 haarcascade-Opencv/Python 检测图像中的每个人脸。
代码检测所有面孔,
但是我需要检测图像中的相同面孔,然后绘制不同颜色的边界框
我是初学者,我在谷歌上搜索如何做到这一点,但我做得不够。
我知道我需要数据集,但我不知道如何训练它以及如何实现下面的代码..
以前有人有过这方面的经验吗?
也许有人可以根据下面的代码给我一个例子,然后我会尝试遵循他的步骤。
检测人脸的代码:
import cv2
import matplotlib.pyplot as plt
test_image = cv2.imread("C:\Users\erdal.alimovski\Desktop\faces.jpg")
test_image_gray = cv2.cvtColor(test_image, cv2.COLOR_BGR2GRAY)
plt.imshow(test_image_gray, cmap='gray')
def convertToRGB(image):
return cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
haar_cascade_face = cv2.CascadeClassifier('C:\Users\haarcascade_frontalface_default.xml')
faces_rects = haar_cascade_face.detectMultiScale(test_image_gray, scaleFactor = 1.2, minNeighbors = 5);
print('Faces found: ', len(faces_rects))
for (x,y,w,h) in faces_rects:
cv2.rectangle(test_image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow("yeni",test_image)
cv2.waitKey(10000)
最佳答案
在线cv2.rectangle(test_image, (x, y), (x+w, y+h), (0, 255, 0), 2)
参数(0,255,0)表示每次绘制绿色矩形(因为255是绿色分量)。
你可以
1-在此参数上传递随机生成的颜色
2- 初始化要使用的颜色列表并在 for (x,y,w,h) in faces_rects:
中循环遍历它就像
colorList=[(0,255,0),(255,0,0),(0,0,255)] # etc ...
i=0
for (x,y,w,h) in faces_rects:
cv2.rectangle(test_image, (x, y), (x+w, y+h), colorList[i], 2)
i=i+1
关于python - 使用 Haarcascade 检测到的面部,如何在不同颜色的相同面部上绘制边界框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54928793/
我正在寻找可以支持人脸检测、识别和聚类的SDK。我们试过了Pittpatt ,而且效果很好,但是被谷歌收购了,因此卡住了新契约(Contract)。所以我们不得不决定使用OpenCV,业务风险低,技术
我正在努力寻找正确的方法来调整大小、裁剪和图像,以及重点区域。在我的例子中,焦点区域是图像中检测到的人脸,我需要确保该区域在裁剪后的版本中可见。 我有例如给出的重点领域。 face_height、fa
我们的应用程序从钥匙串(keychain)中保存和检索项目,以便使用生物识别技术进行身份验证。 在第三次错误尝试时,我被重定向到设备 PIN 码。相反,想提示一条消息,指出 3 次错误尝试。 检索项目
我是一名优秀的程序员,十分优秀!