截取人眼区域,截取对应的标注区域,并将标注区域二值化
一、数据集介绍
- 原始数据1400+,size:4752*3168,5.3MB
- 标注:有iris和eyelid两类,轮廓分别都用蓝色的线标注出来
–单张太大,且没有必要,因此先截取出眼部区域,采用face_recognition
二、截取眼部区域
- 详情可见face_recognition
- 结果如图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200107165316305.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNTYwMDQ5,size_16,color_FFFFFF,t_70)
三、二值化两类标注
dpath='F:/data/data4/eye_detection/extract_eye_img/former/'
path_1=dpath+'eyelid/'
path_2=dpath+'iris/'
target_1=dpath+'eyelid_enhance/'
target_2=dpath+'iris_enhance/'
eyelid_list=os.listdir(path_1)
iris_list=os.listdir(path_2)
for file in eyelid_list:
img=cv_imread(path_1+file)
x,y,_=img.shape
mask=np.zeros((x,y),dtype=img.dtype)
mask[np.where((img[...,0]>200) & (img[...,1]<100) & (img[...,2]<100))]=255
for i in range(x):
arr=mask[i]
arr=np.nonzero(arr)[0]
arr=list(arr)
if len(arr)>=5:
m=arr[0]
M=arr[-1]
mask[i][m:M]=255
cv_imwrite(target_1+file,mask)
- 最终得到两类二值化标签,可以分别做二分类,也可合并在一起做三分类(一类背景)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200107170737363.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNTYwMDQ5,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200107170625718.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNTYwMDQ5,size_16,color_FFFFFF,t_70)
划分训练集、验证集、测试集