人脸识别定位库制作

好久前写的,不过很长时间内没空再弄了。

人脸库制作

首先从百度上找人脸图像,汇总,编号(其实也可以随意名直接保存, for file in os.listdir直接解决),结果如图。

之后用face_transfer.py进行图像变形,大小变成224×224结果如图。

import os
from PIL import Image
file_dir = '/home/emin/Temp/Tensorflow/data/face1'
file_rank = 1
for file in os.listdir(file_dir):
    file_image = file_dir + '/' + str(file_rank) + '.jpg'
    image = Image.open(file_image)
    image = image.resize((224, 224))
    image.save('/home/emin/Temp/Tensorflow/data/face2'+ '/' + str(file_rank) + '.jpg') 
    file_rank = file_rank + 1

对图像的人脸位置标注,可以参考网站1,网站2

由于我的python库出现了一些问题,我使用了matlab进行位置标注。

data=[];
for num=1:21
file_rank=num2str(num);
file = ['/home/emin/Temp/Tensorflow/data/face2/',file_rank,'.jpg'];
a=imread(file);
imshow(a);
[x1,y1]=ginput;
data(num,1)=x1(1);data(num,2)=y1(1);data(num,3)=x1(2);data(num,4)=y1(2);
line([data(num,1),data(num,1)],[data(num,2),data(num,4)]);
line([data(num,3),data(num,3)],[data(num,2),data(num,4)]);
line([data(num,1),data(num,3)],[data(num,2),data(num,2)]);
line([data(num,1),data(num,3)],[data(num,4),data(num,4)]);
pause(2)
end

作用是出图,鼠标取点,画出框,记录数据。数据我存在了face_data.csv里,数据为每行[x1,y1,x2,y2],即左上右下两点。

当时取点的情况大概这样。点两下,记录左上右下两点,之后自动画框,存数据,暂停2秒。

编写可以调用存储数据的csv文件的程序face_use_csv.py。

import csv
def get_row_data(num_row):
    with open('/home/emin/Temp/Tensorflow/Me/face/face_data.csv','r') as csvfile:
        reader = csv.reader(csvfile)
        for i,rows in enumerate(reader):
            if i == num_row:
                row_data = rows
#    print (row_data) 
    return(row_data)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值