我正在尝试从包含单眼但没有人脸的图像中检测眼睛。所以我不需要检测人脸。但是我发现的所有资源都是在检测面部后检测眼睛。
在这里,我试图只检测眼睛。但它无法检测到眼睛。这是输入图像 - UBIRIS_200X150 V2 Eye Image
import os
import cv2
# dataset paths
path = 'F:/Thesis/Iris Recognition For Visible Spectrum Iris Images/Datasets/UBIRIS_200_150 - 2 Samples/'
# haarcascade eye detection
eye_cascade = cv2.CascadeClassifier('C:/Users/Noyan Ali/Desktop/Iris Segmentation/haarcascade_eye.xml')
# processing each image from specified dataset
for root, dirs, files in os.walk(path):
# getting individual image name, id, number, session, path
if os.path.basename(root) == 'Sessao_1' or os.path.basename(root) == 'Sessao_2':
continue
id_number = os.path.basename(root)
for file in files:
image_name = file
session_number = file[-7]
image_number = file[-5]
# reading individual image
image_path = os.path.join(root, file)
image = cv2.imread(image_path)
# converting bgr to gray
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
eyes = eye_cascade.detectMultiScale(gray)
print(len(eyes))
for (ex,ey,ew,eh) in eyes:
print('Yes: ' + image_name)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(image,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
# saving detected eye image
cv2.imwrite('Detected Eyes/'+image_name, image)
print('done!')