Faceplusplus 是怎样带好销售团队一个团队

旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦
嗨,同学们,旷视科技(Face )即将首次开启校园招募大会,不管是公司的创业故事、旷视目前在做的产品
有意思的黑科技、还是极客又有趣的伙伴们……你都可以近距离了解!你可以在现场提出你感兴趣的任何问题还有机会获得特殊奖品哦~
时间:4月8日(星期五) 19:00-21:00&
地点:清华大学 新水利馆325
旷视科技(Face )校园招聘岗位剧透
Research Engineer Intern
Software Engineer Intern
Product Manager Intern
实习地点:北京 中关村
具体职位要求:见下方
实习时间:学期内实习要求每周3天以上
&&&&&&&&&&&&&
& &&寒/暑期实习连续不少于2个月
旷视科技成立于2011年底,是专注机器视觉和人工智能的极客技术公司。旷视致力于“先让机器看懂世界,再让机器真正思考”,力图打造领先的人脸识别(Face
)、图像识别(Image )、和深度学习技术服务云平台。&
成绩和理想
超过10个国际人工智能技术评测冠军;汇集信息学竞赛(OI、ACM等)金牌70
;国际及国家级发明专利近200项……然而我们从未止步。旷视渴望让人工智能&走出Lab,投入实用。
与很多巨头企业不同,旷视在商业化道路上对『看懂世界』慢慢做加法,而不是急于让机器可以识别所有事物。从人脸识别开始,目前Face
产品API每日调用量超过1600万次,成为世界第一的人脸智能云服务平台,服务开发者30000
,产品和服务贯穿到互联网金融、智能商业、智慧安防、智能家居等多个领域,其中,为支付宝刷脸登录提供了核心技术支持使得消沉已久的人脸识别高调地走入了大众的视野。&
未来,旷视希望通过机器视觉技术,让所有机器人、无人机、无人驾驶汽车等智能设备拥有一双“机器之眼”可以看懂世界,实现真正的智能化。
但是,这条路还很长。所以,我们在此真诚地邀请自命不凡的你,加入旷视。
Research Engineer Intern &
使用公司自有核心基础系统的(数据平台,标注系统,训练系统),有机会参与从数据搜集和规划准备,算法设计和实验,到算法SDK的编码和产品化交付的全过程。
在掌握前沿视觉领域和机器学习的最新成果情况下,针对具体研究问题提出创新性的解决方案和算法,将结果应用于产品,并发表论文或申请相关专利。
专业为计算机、电子、自动化、数学、物理、模式识别或其他相关学科;
数学基础优异,具有良好的数学思维训练和逻辑思考能力;
有扎实的编程基础,熟练掌握 C ;
有很强的自学能力和独立思考能力,善于思考和表达自己的想法;
熟悉Python等至少一门脚本语言,使用过Theano / Caffe / TensorFlow等开源深度学习框架优先;
有人脸识别、行人检测、文字识别、视频分析、三维建模、计算机图形学等相关科研经历者优先。
&Software Engineer Intern &
加入工程团队,参与Megvii公有云、智能硬件及方案等核心产品的开发。
熟练掌握算法、数据结构等基本知识,可以熟练地评估代码的算法复杂度;
熟悉Linux / Git / Python / Shell等工具和编程语言,能够快速搭建Web服务。
Product Manager Intern &
参与Megvii公有云产品的策划与设计,将Megvii的智能技术以云服务的形式服务客户。
负责一个主要产品模块或者参与一个产品的需求定义、原型设计和优化、和产品上线计划。
产品直觉:热爱智能技术、热爱互联网,对产品的敏感度非常自信;
用户思维:能从用户视角梳理需求、设计产品流程;
设计能力:能使用工具完成产品原型设计;能完成API设计;
数据能力:能完成有效的数据分析,具备海量日志分析能力者尤佳;
协作抗压:沟通能力好,对有压力的工作氛围有充分准备。
这里永远有比你更强,值得你学习的牛人。你会爱上和各类聪明的、奇特的、爱吐槽更爱自黑的极客伙伴一起工作的奇妙经验!
2. Research实习生:将有机会在CVPR / ICCV / ICML / NIPS /
ACMMM等顶级会议、期刊上发表论文并参加各类学术活动(作为顶级赞助商,Megvii已经连续参展多届CVPR和ICCV)。百万级图像数据,大量的计算资源,真实上线产品数据。只要你能做,资源永远不是问题!
Dev实习生:拒绝螺丝钉!你将有机会独立负责一个公司内部项目的架构设计、技术选型和开发、公司内推广。在资深导师带领下,学习新技术,了解工程化的开发流程和最佳实践。
4.&PM实习生:有机会参与公司核心产品或项目的规划,并且独立承担一部分产品设计。与Megvii的开发测试团队协作,了解如何规划、设计和交付一个面向商业用户的公有云服务,了解技术向产品转化的本质。
5.&有竞争力的薪资及福利、三餐零食水果不断供、外地同学安排住宿;对优秀员工的长期激励制度。
6.&开放有趣的办公环境▼
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2obm5byioj20p00g576m.jpg" ALT="刷脸上班 弹性工作"
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2obna3j96j20p00g5n2c.jpg" ALT="旷视小伙伴们门神&&大黄蜂 酷不酷"
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2obogf5mtj20p00g5jun.jpg" ALT="桌球 桌游 街机 Xbox&&都在等你"
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2obq92tcgj20p00g542s.jpg" ALT=""
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2obzw2jfoj20p00g5jv1.jpg" ALT="三餐 水果 下午茶一顿也不能少"
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2oc3hztk3j20p00g5go5.jpg" ALT="科技有意思"
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2oc49dwfmj20p00g5jv0.jpg" ALT="Work hard Play hard!"
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2oc5sl20wj20p00g5jvz.jpg" ALT=""
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2oc5bk8duj20p00g5q68.jpg" ALT=""
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2oc52l5auj20p00g5wip.jpg" ALT="开放 多彩的主题会议室 从此告别枯燥无聊的会议"
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
对你的要求
因为我们相信极客对极客欣赏是最好的团队凝聚力,所以希望你能做到——追求极致,简单可靠。
请直接投递简历至 :
邮件主题注明【实习职位】 姓名
更新鲜更全面的信息请扫描二维码关注旷视科技(Face )官方微信&#9660;
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/large/b02c8af3jw1f2ocb9upmwj20b408vaam.jpg" ALT=""
TITLE="旷视科技(&Face&&)&校园招聘/暑期实习招募启动啦" />
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。使用OpenCV与Face++实现人脸解锁
近几天微软的发布会上讲到了不少认脸解锁的内容,经过探索,其实利用手头的资源我们完全自己也可以完成这样一个过程。
本文讲解了如何使用,基于OpenCV与Face++实现人脸解锁的功能。
本文基于Python 2.7.11,Windows 8.1 。
Windows 8.1上配置OpenCV OpenCV的人脸检测应用 使用Face++完成人脸辨识
Windows 8.1上配置OpenCV
入门的时候配置环境总是一个非常麻烦的事情,在Windows上配置OpenCV更是如此。
既然写了这个的科普教程,总不能让读者卡在环境配置上吧。
下面用到的文件都可以在(提取码:b6ec)下载,但是注意,目前OpenCV仅支持Python2.7。
将cv2加入site-packages
将下载下来的cv2.pyd文件放入Python安装的文件夹下的Lib\site-packages目录。
就我的电脑而言,这个目录就是C:\Python27\Lib\site-packages。
记得不要直接使用pip安装,将文件拖过去即可。
安装numpy组件
在命令行下进入到下载下来的文件所在的目录(按住Shift右键有在该目录打开命令行的选项)
键入命令:
pip install numpy-1.11.0rc2-cp27-cp27m-win32.whl
测试OpenCV安装
在命令行键入命令:
python -c &import cv2&
如果没有出现错误提示,那么cv2就已经安装好了。
OpenCV的人脸检测应用
人脸检测应用,简而言之就是一个在照片里找到人脸,然后用方框框起来的过程(我们的相机经常做这件事情)
那么具体而言就是这样一个过程:
* 获取摄像头的图片
* 在图片中检测到人脸的区域
* 在人脸的区域周围绘制方框
获取摄像头的图片
这里简单的讲解一下OpenCV的基本操作。
以下操作是打开摄像头的基本操作:
#coding=utf8
import cv2
# 一般笔记本的默认摄像头都是0
capInput = cv2.VideoCapture(0)
# 我们可以用这条命令检测摄像头是否可以读取数据
if not capInput.isOpened(): print(&#39;Capture failed because of camera&#39;)
那么怎么从摄像头读取数据呢?
# 接上段程序
# 现在摄像头已经打开了,我们可以使用这条命令读取图像
# img就是我们读取到的图像,就和我们使用open(&#39;pic.jpg&#39;, &#39;rb&#39;).read()读取到的数据是一样的
ret, img = capInput.read()
# 你可以使用open的方式存储,也可以使用cv2提供的方式存储
cv2.imwrite(&#39;pic.jpg&#39;, img)
# 同样,你可以使用open的方式读取,也可以使用cv2提供的方式读取
img = cv2.imread(&#39;pic.jpg&#39;)
为了方便显示图片,cv2也提供了显示图片的方法:
# 接上段程序
# 定义一个窗口,当然也可以不定义
imgWindowName = &#39;ImageCaptured&#39;
imgWindow = cv2.namedWindow(imgWindowName, cv2.WINDOW_NORMAL)
# 在窗口中显示图片
cv2.imshow(imgWindowName, img)
当然在完成所有操作以后需要把摄像头和窗口都做一个释放:
# 接上段程序
# 释放摄像头
capInput.release()
# 释放所有窗口
cv2.destroyAllWindows()
在图片中检测到人脸的区域
OpenCV给我们提供了已经训练好的人脸的xml模板,我们只需要载入然后比对即可。
# 接上段程序
# 载入xml模板
faceCascade = cv2.CascadeClassifier(&#39;haarcascade_frontalface_default.xml&#39;)
# 将图形存储的方式进行转换
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 使用模板匹配图形
faces = faceCascade.detectMultiScale(gray, 1.3, 5)
print(faces)
在人脸的区域周围绘制方框
在上一个步骤中,faces中的四个量分别为左上角的横坐标、纵坐标、宽度、长度。
所以我们根据这四个量很容易的就可以绘制出方框。
# 接上段程序
# 函数的参数分别为:图像,左上角坐标,右下角坐标,颜色,宽度
img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
根据上面讲述的内容,我们现在已经可以完成一个简单的人脸辨认了:
#coding=utf8
import cv2, time
print(&#39;Press Esc to exit&#39;)
faceCascade = cv2.CascadeClassifier(&#39;haarcascade_frontalface_default.xml&#39;)
imgWindow = cv2.namedWindow(&#39;FaceDetect&#39;, cv2.WINDOW_NORMAL)
def detect_face():
capInput = cv2.VideoCapture(0)
# 避免处理时间过长造成画面卡顿
nextCaptureTime = time.time()
faces = []
if not capInput.isOpened(): print(&#39;Capture failed because of camera&#39;)
ret, img = capInput.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
if nextCaptureTime & time.time():
nextCaptureTime = time.time() + 0.1
faces = faceCascade.detectMultiScale(gray, 1.3, 5)
for x, y, w, h in faces:
img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
cv2.imshow(&#39;FaceDetect&#39;, img)
# 这是简单的读取键盘输入,27即Esc的acsii码
if cv2.waitKey(1) & 0xFF == 27: break
capInput.release()
cv2.destroyAllWindows()
if __name__ == &#39;__main__&#39;:
detect_face()
使用Face++完成人脸辨识
第一次认识Face++还是因为支付宝的人脸支付,响应速度还是非常让人满意的。
现在只需要免费注册一个账号然后新建一个应用就可以使用了,非常方便。
他的官方网址是,注册好之后在的我的应用中创建应用即可。
创建好应用之后你会获得API Key与API Secret。
Face++的API调用逻辑简单来说是这样的:
* 上传图片获取读取到的人的face_id
* 创建Person,获取person_id(Person中的图片可以增加、删除)
* 比较两个face_id,判断是否是一个人
* 比较face_id与person_id,判断是否是一个人
上传图片获取face_id
在将图片通过post方法上传到特定的地址后将返回一个json的值。
如果api_key, api_secret没有问题,且在上传的图片中有识别到人脸,那么会存储在json的face键值下。
#coding=utf8
import requests
# 这里填写你的应用的API Key与API Secret
API_KEY = &#39;&#39;
API_SECRET = &#39;&#39;
# 目前的API网址是这个,你可以在API文档里找到这些
BASE_URL = &#39;/v2&#39;
# 使用Requests上传图片
url = &#39;%s/detection/detect?api_key=%s&api_secret=%s&attribute=none&#39;%(
BASE_URL, API_KEY, API_SECRET)
files = {&#39;img&#39;: (os.path.basename(fileDir), open(fileDir, &#39;rb&#39;),
mimetypes.guess_type(fileDir)[0]), }
r = requests.post(url, files = files)
# 如果读取到图片中的头像则输出他们,其中的&#39;face_id&#39;就是我们所需要的值
faces = r.json().get(&#39;face&#39;)
print faces
创建Person
这个操作没有什么可以讲的内容,可以对照这段程序和官方的API介绍。
官方的API介绍可以见,相信看完这一段程序以后你就可以自己完成其余的API了。
# 上接上一段程序
# 读取face_id
if not faces is None: faceIdList = [face[&#39;face_id&#39;] for face in faces]
# 使用Requests创建Person
url = &#39;%s/person/create&#39;%BASE_URL
params = {
&#39;api_key&#39;: API_KEY,
&#39;api_secret&#39;: API_SECRET,
&#39;person_name&#39;: &#39;LittleCoder&#39;,
&#39;face_id&#39;: &#39;,&#39;.join(faceIdList), }
r = requests.get(url, params = params)
# 获取person_id
print r.json.()[&#39;person_id&#39;]
到目前为止,你应该已经可以就给定的两张图片比对是否是同一个人了。
那么让我们来试着写一下这个程序吧,两张图片分别为&pic1.jpg&, &pic2.jpg&好了。
下面我给出了我的代码:
def upload_img(fileDir, oneface = True):
url = &#39;%s/detection/detect?api_key=%s&api_secret=%s&attribute=none&#39;%(
BASE_URL, API_KEY, API_SECRET)
if oneface: url += &#39;&mode=oneface&#39;
files = {&#39;img&#39;: (os.path.basename(fileDir), open(fileDir, &#39;rb&#39;),
mimetypes.guess_type(fileDir)[0]), }
r = requests.post(url, files = files)
faces = r.json().get(&#39;face&#39;)
if faces is None:
print(&#39;There is no face found in %s&#39;%fileDir)
return faces[0][&#39;face_id&#39;]
def compare(faceId1, faceId2):
url = &#39;%s/recognition/compare&#39;%BASE_URL
params = BASE_PARAMS
params[&#39;face_id1&#39;] = faceId1
params[&#39;face_id2&#39;] = faceId2
r = requests.get(url, params)
return r.json()
faceId1 = upload_img(&#39;pic1.jpg&#39;)
faceId2 = upload_img(&#39;pic2.jpg&#39;)
if face_id1 and face_id2:
print(compare(faceId1, faceId2))
print(&#39;Please change two pictures&#39;)
到此,所有的知识介绍都结束了,相比大致如何完成这个项目各位读者也已经有想法了吧。
下面我们需要构思一下人脸解锁的思路,大致而言是这样的:
* 使用一个程序设置账户(包括向账户中存储解锁用的图片)
* 使用另一个程序登陆(根据输入的用户名测试解锁)
这里会有很多重复的代码,就不再赘述了,你可以在或者(提取码:c073)下载源代码测试使用。
这里是设置账户的截图:
这里是登陆的截图:用Face++实现人脸关键点检测
时间: 22:20:12
&&&& 阅读:4419
&&&& 评论:
&&&& 收藏:0
标签:最近看了一篇很有意思的文章&http://matthewearl.github.io//switching-eds-with-python/ ,本来想自己复现一下,后来发现自己太菜,用了一整天只完成了不到一半,最近要找工作了,看书看的有点烦,本来想写个有趣的代码放松下。哎。
开始正文。原作者用的是dlib的库完成关键点检测,试着装了一下,没装成,那就不用了。本来想用自己的库,后来想了下自己封装的太烂了,还是改用别人的吧,这样程序的大小也会小很多,训练好的文件还是比较大的。
首先去Face&#43;&#43;注册一个账号,然后创建应用(得到访问的密钥),这里直接截图了。
我用的是Python 接口,去github下载SDK &/FacePlusPlus/facepp-python-sdk/tree/v2.0
修改apikey.cfg的内容,可以运行hello.py的历程。
注意服务器的地址不要选错,还有就是官方的历程里是这样的,API_KEY = ‘&YOUR_API_KEY&‘,替换直接的密钥时记得把&&也删掉,不然也会报错。
SDK的facepp.py文件的350行左右修改一下,添加&‘/detection/landmark‘,这句,不然的话人脸关键点检测的接口无法调用。
这里稍微吐槽一下,Face&#43;&#43;的SDK写的真不怎么好,很多地方不够详细,而且程序有时会因为网络问题出现bug。想上传自己的图片也找不到接口,官网只给了这么几句,
感觉解释的太简单了吧,SDK里也没有见到有相关的本地图片上传接口。
说了这么多,展示一下效果,然后贴代码。
这是人类关键点检测的效果。
由于开始选的两个脸对齐的比较好,所以换了一张,这里完成的效果是把第二幅图片的人脸缩放、旋转和第一张人脸对其。之后的操作就是裁剪、覆盖了。
下面贴一下代码,只为完成了一半(文章里写的这么多),后面的部分不太熟悉,要找工作了,没心情写代码。。。
这里建议大家自己注册一个账号,每个账号的开发者版本同时有3个线程,如果我这里修改了密钥程序应该会报错,这里可能程序无法运行。
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
# You need to register your App first, and enter you API key/secret.
# 您需要先注册一个App,并将得到的API key和API secret写在这里。
API_KEY = &#39;de12afb8aba7c8283efffd9&#39;
API_SECRET = &#39;61MzhMy_j_L8T1-JAzVjlBSsKqy2pUap&#39;
# Import system libraries and define helper functions
# 导入系统库并定义辅助函数
import time
import cv2
import numpy
import urllib
from facepp import API
ALIGN_POINTS = list(range(0,25))
OVERLAY_POINTS=list(range(0,25))
RIGHT_EYE_POINTS = list(range(2, 6))
LEFT_EYE_POINTS = list(range(4, 8))
FEATHER_AMOUNT = 11
SCALE_FACTOR = 1
COLOUR_CORRECT_BLUR_FRAC = 0.6
def encode(obj):
if type(obj) is unicode:
return obj.encode(&#39;utf-8&#39;)
if type(obj) is dict:
return {encode(k): encode(v) for (k, v) in obj.iteritems()}
if type(obj) is list:
return [encode(i) for i in obj]
return obj
def getPoints(text):
a=encode(text)
x = re.findall(r&#39;\&#39;x\&#39;:......&#39;,a)
for i in range(len(x)):
x[i]=re.findall(r&#39;\d+\.\d\d&#39;,x[i])
y = re.findall(r&#39;\&#39;y\&#39;:......&#39;,a)
for i in range(len(y)):
y[i]=re.findall(r&#39;\d+\.\d\d&#39;,y[i])
xy =zip(x,y)
def drawPoints(img,xy):
#画点,用于检测程序运行情况
tmp = numpy.array(img)
h,w,c = tmp.shape
for i,j in xy:
xp=float(i[0])*w/100.
yp=float(j[0])*h/100.
point = (int(xp),int(yp))
cv2.circle(Img,point,1,(0,255,0))
return Img
def get_landmarks(path,tmpPic):
result = api.detection.detect(url = path,mode = &#39;oneface&#39;)
ID = result[&#39;face&#39;][0][&#39;face_id&#39;]
points = api.detection.landmark(face_id=ID,type = &#39;25p&#39;)
xy = getPoints(points)
print &#39;downloading the picture....&#39;
urllib.urlretrieve(path,tmpPic)
#为防止图片内容有变化,每次都下载一遍,调试可以不用
tmp = cv2.imread(tmpPic)
Img = drawPoints(tmp,xy)
cv2.imwrite(&#39;point.jpg&#39;,Img)
tmp = numpy.array(tmp)
h,w,c = tmp.shape
points = numpy.empty([25,2],dtype=numpy.int16)
for i,j in xy:
xp=float(i[0])*w/100.
yp=float(j[0])*h/100.
points[n][0]=int(xp)
points[n][1]=int(yp)
return numpy.matrix([[i[0], i[1]] for i in points])
#return points
def transformation_from_points(points1, points2):
Return an affine transformation [s * R | T] such that:
sum ||s*R*p1,i + T - p2,i||^2
is minimized.
# Solve the procrustes problem by subtracting centroids, scaling by the
# standard deviation, and then using the SVD to calculate the rotation. See
# the following for more details:
https://en.wikipedia.org/wiki/Orthogonal_Procrustes_problem
points1 = points1.astype(numpy.float64)
points2 = points2.astype(numpy.float64)
c1 = numpy.mean(points1, axis=0)
c2 = numpy.mean(points2, axis=0)
points1 -= c1
points2 -= c2
s1 = numpy.std(points1)
s2 = numpy.std(points2)
points1 /= s1
points2 /= s2
U, S, Vt = numpy.linalg.svd(points1.T * points2)
# The R we seek is in fact the transpose of the one given by U * Vt. This
# is because the above formulation assumes the matrix goes on the right
# (with row vectors) where as our solution requires the matrix to be on the
# left (with column vectors).
R = (U * Vt).T
return numpy.vstack([numpy.hstack(((s2 / s1) * R,
c2.T - (s2 / s1) * R * c1.T)),
numpy.matrix([0., 0., 1.])])
def warp_im(im, M, dshape):
output_im = numpy.zeros(dshape, dtype=im.dtype)
cv2.warpAffine(im,
(dshape[1], dshape[0]),
dst=output_im,
borderMode=cv2.BORDER_TRANSPARENT,
flags=cv2.WARP_INVERSE_MAP)
return output_im
if __name__ == &#39;__main__&#39;:
api = API(API_KEY, API_SECRET)
path1=&#39;/static/img/demo/17.jpg&#39;
path2=&#39;/static/img/demo/7.jpg&#39;
#path2=&#39;/auto//448e023.jpg&#39;
tmp1=&#39;./tmp1.jpg&#39;
tmp2=&#39;./tmp2.jpg&#39;
landmarks1=get_landmarks(path1,tmp1)
landmarks2=get_landmarks(path2,tmp2)
im1 = cv2.imread(tmp1,cv2.IMREAD_COLOR)
im2 = cv2.imread(tmp2,cv2.IMREAD_COLOR)
M = transformation_from_points(landmarks1[ALIGN_POINTS],
landmarks2[ALIGN_POINTS])
warped_im2 = warp_im(im2, M, im1.shape)
cv2.imwrite(&#39;wrap.jpg&#39;,warped_im2)
版权声明:本文为博主原创文章,未经博主允许不得转载。
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(33cb-ua98).
重新安装浏览器,或使用别的浏览器创建一个新的应用 | 快速开始 | Face++ 最好的免费人脸识别云服务
创建一个新的应用
为了正常运行开发环境,您需要已建立一个App并获得相应的API_Key和API_Secret,具体步骤如下:
1. Face++开发者首页,点击右上方的我的应用图标,您可能需要注册或登录。
2. 点击屏幕右方的创建应用图标,创建一个新的应用。
3. 点击提交按键,自动进入应用信息界面,您将看到API_Key和API_Secret。
4. 把API_Key和API_Secret复制到您的API相关文件中,如apikey.cfg(在很多官方下载SDK中都含有此文件),或您自己写的程序里。
注意,如果您注册时选择了阿里云(中国)服务器,请使用如下配置:
SERVER = './'
API_KEY = 'YOUR_API_KEY'
API_SECRET = 'YOUR_API_SECRET'
如果您注册时选择了亚马逊(美国)服务器,请使用如下配置:
SERVER = 'http://api./'
API_KEY = 'YOUR_API_KEY'API_SECRET = 'YOUR_API_SECRET'
保存apikey.cfg,应用配置成功。}

我要回帖

更多关于 怎样带领好一个团队 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信