商务服务
人脸识别
2024-12-05 12:42

from django.shortcuts import render,redirect,reverse from jyapp import models from django.views import View from django.http import HttpResponse,JsonResponse

人脸识别

import base64

import random import urllib import http.client

from django.apps import AppConfig from aip import AipFace

from django.db import transaction

class AppConfig(AppConfig): name = ‘jyapp’ APP_ID = ‘16538158’ API_KEY = ‘HZI4cNgG8BGwry0v2GgQPxjm’ SECRECT_KEY = ‘pcPY2QIuNnkS9gFDmjvH0SI7whlb2ml9’ client = AipFace(APP_ID,API_KEY,SECRECT_KEY) client.setConnectionTimeoutInMillis(10005) client.setSocketTimeoutInMillis(10005)

class Index(View): def get(self,request): return render(request,‘contact.html’)

class Regist(View): def get(self,request): return render(request,‘moban_index.html’) def post(self,request): # 获取前端数据 imagecontent = request.POST.get(‘imagecontent’) username = request.POST.get(‘username’) mobile = request.POST.get(‘mobile’) password = request.POST.get(‘password’) if not all([imagecontent,username,mobile,password]): return JsonResponse({‘code’:100,‘result’:‘注册信息不能为空’}) # if mobile_code != mobile_code_right: # return JsonResponse({‘code’:111,‘result’:‘请输入正确的验证码’}) else: # 验证该用户是否存在 user = models.User.objects.filter(mobile=mobile) if user: return JsonResponse({‘code’:123,‘result’:‘该用户已存在,请直接登录’}) else: try: # 引入事务 with transaction.atomic(): # 分割字符串 base_data = imagecontent.split(’,’)[1] # base64解码 base64_decode = base64.b64decode(base_data) # 图片写入本地 with open(‘static/image/’+mobile+’.jpeg’, ‘wb’) as f: f.write(base64_decode) # 添加到mysql数据库 models.User.objects.create( imagecontent = ‘static/image/’+mobile+’.jpeg’, username = username, mobile = mobile, password = password, ) imageType = ‘base64’ groupId = ‘usergroup’ userId = mobile # 加入可选参数 options = {} options[‘user_info’] = username options[‘quality_control’] = ‘NORMAL’ options[‘liveness_control’] = ‘LOW’ result = AppConfig.client.addUser(base_data,imageType,groupId,userId,options) print(result) error_code = result[‘error_code’] if isinstance(error_code,int) and error_code == 0: request.session[‘mobile’] = mobile return JsonResponse({‘code’:200,‘result’:‘注册成功’}) # return JsonResponse({‘result’:‘注册成功’}) else: error = ErrorCode().getErrorInfo(error_code) return JsonResponse({‘result’:’{}’.format(error)}) except: return JsonResponse({‘code’:333,‘result’:‘注册失败’})

class Login(View): def get(self,request): return render(request,‘moban_index.html’) def post(self,request): mobile = request.POST.get(‘mobile’) password = request.POST.get(‘password’) print(mobile,password) if not all([mobile,password]): return JsonResponse({‘code’:100,‘mes’:‘登录信息不完整’}) else: user = models.User.objects.filter(mobile=mobile,password=password) if user: request.session[‘mobile’] = mobile return JsonResponse({‘code’:200,‘mes’:‘登录成功’}) else: return JsonResponse({‘code’:333,‘mes’:‘登录账号或密码错误’})

class Login_face(View): def get(self,request): return render(request,‘moban_index.html’) def post(self,request): imagecontent = request.POST.get(‘imagecontent’) mobile = request.POST.get(‘mobile’) if not all([imagecontent,mobile]): return JsonResponse({‘code’:100,‘result’:‘登录信息不能为空’}) else: user = models.User.objects.filter(mobile=mobile) if not user: return JsonResponse({‘code’:113,‘result’:‘用户不存在’}) else: base_data = imagecontent.split(’,’)[1] imageType = ‘base64’ groupIdList = ‘usergroup’ # 加入可选参数 options = {} options[‘max_user_num’] = 1 options[‘quality_control’] = ‘NORMAL’ options[‘liveness_control’] = ‘LOW’ # options[‘user_id’] = mobile result = AppConfig.client.search(base_data,imageType,groupIdList,options) print(result) error_code = result[‘error_code’] # try: user_id = result[‘result’][‘user_list’][0][‘user_id’] score = result[‘result’][‘user_list’][0][‘score’] if isinstance(error_code,int) and error_code == 0 and user_id == mobile and score >= 90: request.session[‘mobile’] = mobile return JsonResponse({‘code’:200,‘result’:‘快速登录成功’}) else: return JsonResponse({‘code’:111,‘result’:‘快速登录失败’}) # except: # return JsonResponse({‘code’:158,‘result’:‘未检测到人脸’})

    以上就是本篇文章【人脸识别】的全部内容了,欢迎阅览 ! 文章地址:http://xiaoguoguo.dbeile.cn/news/2674.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 多贝乐移动站 http://xiaoguoguo.dbeile.cn/mobile/ , 查看更多   
最新新闻
李子柒停更期间拜访了许多非遗传人,前公司:双方已完全和解
李子柒回归依然是顶流!在长达1200多天的停更之后,11月12日,知名网红在社交平台公开更新两条视频,表示“把这份祝愿送给看到视
李子柒复出热搜背后的文化传承探索
自从李子柒在社交媒体上停更以来,粉丝们一直在翘首以待她的再次亮相。近日,一段关于李子柒参与熊猫家园宣传活动的官方视频意外
震撼!李子柒三年后回归,热搜霸榜揭秘背后故事
2024年11月12日,李子柒再次引发热议,她的最新视频正式上线,并引发了一波热潮。时隔三年,她的回归不仅令无数粉丝为之振奋,更
火年还是水年?2025年属蛇人的命运如何
每个人的命运都各有不同,十二生肖的性格差异很大,即便是同一个属相,不同年份出生的人,命运也会有所不同。随着2025年的到来,
李子柒回归:她的“王者归来”揭示了哪些社会密码?
在社交媒体上曾风靡一时的李子柒,最近以全新的创作宣告回归,瞬间点燃了网络的热情。这位因其对传统文化的深刻理解而备受喜爱的
李子柒复出,背后的IP运营启示
在停更3年之后,依靠传统文化视频创作火遍国内外网络的李子柒再次更新了视频。11月,李子柒久违发布视频,仅仅几小时播放量就破
李子柒复出:从宁静乡村到数字流量的传奇旅程
在社交媒体上,一位女子以她独特的田园生活视频与传统技艺作品,深深触动了亿万观众的心,她就是李子柒。2024年11月12日,她的正
三年归来仍是顶流,李子柒给所有跨境商家上了一课
文:晓鹏,编辑:赵元,出品:增长工场离开的三年,无数人想成为她们、替代她们,但无一成功。李子柒离开的三年,是中国企业出海
2025年火运最旺的属相
2024年已经接近尾声了,相信之前运势不利的朋友也感到疑惑,为何进入九紫离火运了,自己的事业和财运仍然没有好起来?但实际上,
张了凡:2025年普通人,最赚钱的3个行业
​​嘿,朋友们,你们知道吗?明年开始,有三个行业简直是赚钱的黄金赛道,普通人只要踩中其中一个,身价翻个10倍都不是梦! 不