商务服务
人脸识别
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/ , 查看更多   
最新新闻
手机降低分辨率(手机降低分辨率能否提高性能)
  关于手机降低分辨率的问题探讨  随着智能手机的普及,我们越来越多地关注手机的各种性能,其中分辨率是一个重要的指标。然
手机流量 英语(手机流量英文怎么说)
  Mobile Data Traffic in English  随着科技的快速发展,智能手机已经成为了我们日常生活中不可或缺的一部分。与此同时,手
手机自动清理内存(手机自动清理内存垃圾)
  关于手机自动清理内存的重要性及其优势  随着智能手机的普及,我们的生活越来越离不开手机。然而,随着手机使用时间的增长
荣耀最强手机(荣耀顶级手机)
  荣耀最强手机:科技与艺术的完美结合  在当今这个高速发展的时代,智能手机已经成为了我们日常生活中不可或缺的一部分。而
一百万的手机(一百万的手机什么样)
  《一百万的手机》:奢华与科技的完美结合  随着科技的飞速发展,智能手机已经成为我们日常生活中不可或缺的一部分。然而,
华为最好的一款手机(华为最好的一款手机是什么型号)
  华为最好的一款手机  华为作为全球知名的科技公司,其手机产品一直备受关注。随着技术的不断进步和市场的竞争日益激烈,华
安卓手机铃声软件(安卓手机铃声软件哪个最好)
  安卓手机铃声软件:多样选择与个性化体验  随着科技的快速发展,智能手机已经成为我们日常生活中不可或缺的一部分。铃声作
怎么用手机发qq邮箱(怎么用手机发qq邮箱文件)
  如何使用手机发送QQ邮箱  在当今信息化的时代,手机已经成为我们日常生活中不可或缺的一部分。其中,QQ邮箱作为广泛使用的
手机qq删除好友(手机qq删除好友怎么找回来)
  关于《手机QQ删除好友》的文章  随着社交媒体的普及,QQ作为中国最受欢迎的社交软件之一,已经成为人们生活中不可或缺的一
手机监控定位(父母如何定位子女的手机)
  关于《手机监控定位》的文章  随着科技的快速发展,手机已经成为了我们日常生活中不可或缺的一部分。然而,随之而来的是一