python - 使用 cv2 进行 Python 眼睛检测
问题描述
我在Python中写了如下代码来识别图片中的眼睛,但是它也可以识别其他东西为眼睛,例如:鼻孔,嘴角等,我该怎么办?
import cv2
face_cascade = cv2.CascadeClassifier('./haar cascade files/haarcascade_frontalface_alt.xml')
eye_cascade = cv2.CascadeClassifier('./haar cascade files/haarcascade_eye.xml')
img = cv2.imread('hi.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
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]
eyes = eye_cascade.detectMultiScale(roi_gray)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
解决方案
推荐阅读
- vb.net - 在 VB 中我想使用 Unicode 字符
- google-chrome - 如何在 chrome 开发工具控制台中显示 fetch 的响应?
- image - 如何处理像素值超过 255 的 CNN/图像问题?
- java - Java Exception 产生编译器错误,但是替换异常类型不会产生编译器错误
- linux - 有没有一种更简单的方法可以在 bash 中找到按住鼠标的屏幕名称
- javascript - 如何在输入文本值中显示 JavaScript 函数值
- airflow - 如何根据 Java 作业结果自定义 Airflow 作业状态颜色
- javascript - 关于回调函数的最后一个问题
- python - 使用验证数据进行 Keras 训练显示每个 epoch 的多个进度条和损失
- sql - 防止插入值依赖于另一个表