


So implementieren Sie die Gesichtserkennung im WeChat-Applet
Dieser Artikel stellt hauptsächlich das WeChat-Applet zum Implementieren der Gesichtserkennung, zum Hinzufügen von Informationen und zum Hochladen von Fotos vor. Es hat einen gewissen Referenzwert.
Ich habe den spezifischen Code mit Ihnen geteilt für die Gesichtserkennung im WeChat-Applet als Referenz:
Zunächst benötigen wir Entwicklertools, über die wir heute sprechen, indem wir Backend und Frontend kombinieren.
Schreiben Sie eine Upload-Methode im PHP-Controller. Der Code lautet wie folgt:
public function upload($id=''){ if(empty($id)){ return false; } $no = M("student")->where("id={$id}")->getField('no'); $dir = "./Upload/studentface/"; if(!file_exists($dir)){ mkdir($dir, 0777, true); } $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload->rootPath = $dir; // 设置附件上传根目录 $upload->savePath = ''; // 设置附件上传(子)目录 $upload->saveName = $no; $upload->replace = true; $upload->autoSub = false; // 上传文件 $info = $upload->uploadOne($_FILES['file']); if(!$info) {// 上传错误提示错误信息 // return $this->ajaxReturn(array('error'=>true,'msg'=>$upload->getError())); return json_encode(array('error'=>true,'msg'=>$upload->getError()),JSON_UNESCAPED_UNICODE); }else{// 上传成功 获取上传文件信息 // return $this->ajaxReturn(array('error'=>false,'msg'=>$info['savepath'].$info['savename'],'id'=>$id)); $file = $dir . $info['savepath'] . $info['savename']; $image = base64_encode(file_get_contents($file)); $this->facevalid($no,$image); $m = M('head'); $data = $m->where("no='{$no}'")->find(); if($data){ //有数据,则更新 $m->where("no='{$no}'")->save(array('base64'=>$image, 'path'=>$file)); }else{ $m->add(array('no'=>$no,'base64'=>$image,'path'=>$file)); } return "采集照片成功"; } }
public function facevalid($no,$image,$file){ $options = array(); $options["max_face_num"] = 2; // $options["face_type"] = "LIVE"; // $image=file_get_contents($file); // $image=base64_encode($image); // echo $image; $imageType="BASE64"; // 带参数调用人脸检测 $client=$this->init_face(); $ret=$client->detect($image,$imageType,$options); // $arr=$ret; // print_r($ret); // exit; if($ret['error_code']==0){//有人脸 $result=$ret['result']; $face_num=$result['face_num']; if(1==$face_num){//人脸数量为1 $face_probability=$result['face_list'][0]['face_probability']; if(1==$face_probability){//可靠性为1 $group=$this->face_group(); // echo $group; // exit; $faces=$client->faceGetlist($no,$group); if($faces['error_code']>0){ $client->addUser($image,'BASE64',$group,$no); }else{ $client->updateUser($image,'BASE64',$group,$no); } // echo '人脸检测完成,并已入库'; // return true; // $arr = array('error'=>false,'msg'=>'上传成功'); }else{ die('图片质量'); // die('图片质量仅为:'.$face_probability.',上传失败'); } }else{ die('人脸数量大于1'); // die('人脸数量大于1,失败'); } }else{ die('没有人脸'); // die('没有人脸,失败'); } }
Im Frontend müssen wir js und wxml in den Entwicklertools schreiben
js-Code lautet wie folgt:
const app = getApp() Page({ data: { sex: '女', empty:true }, cancel: function () { wx.redirectTo({ url: '../face/face', }) }, switch1Change: function (e) { if (e.detail.value) { this.setData({ sex: '男' }) } else { this.setData({ sex: '女' }) } }, formSubmit: function (e) { // console.log(e); wx.request({ url: 'http://*****.top/ppp/server/index.php/home/index/index', data: e.detail.value, method: 'POST', header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { console.log(res.data); if (res.data.error) { wx.showToast({ title: res.data.msg, icon: 'none', duration: 2000 }) } else { wx.showToast({ title: res.data.msg, icon: 'success', duration: 2000 }) setTimeout(function () { wx.navigateTo({ url: '../headimg/headimg?id=' + res.data.id, }) }, 2000) } } }) } })
Der js-Code für das Hochladen des Bildes lautet wie folgt:
const app = getApp() function upload(that, id) { if (that.data.files.length == 0) { return; } wx.uploadFile({ url: 'http://****.top/ppp/server/index.php/home/index/upload', //仅为示例,非真实的接口地址 filePath: that.data.files[0], name: 'file', formData: { 'id': id }, success: function (res) { var data = res.data // var json = JSON.parse(data) console.log(data) wx.showToast({ title: data, icon:'success', duration:2000 }) setTimeout(function () { wx.navigateTo({ url: '../index/index', }) }, 2000) } }) } Page({ chooseImage: function (e) { var that = this; wx.chooseImage({ count: 1, sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { console.log(res) // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 that.setData({ files: res.tempFilePaths, }); } }) }, //预览照片 previewImage: function () { var current = e.target.dataset.src wx.previewImage({ current: current, urls: this.data.imageList }) }, cancel:function(){ wx.redirectTo({ url: '../index/index', }) }, /** * 页面的初始数据 */ data: { files: [], options:null, id:null, }, formSubmit:function(e){ upload(this,this.data.id); }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { console.log(options); this.setData({options:options}) this.setData({ id: options.id }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
Der WXML-Code lautet wie folgt:
<view class="weui-cells__title text">录入学生信息</view> <form bindsubmit="formSubmit"> <view class="weui-cells weui-cells_after-title"> <view class="weui-cell weui-cell_input"> <view class="weui-cell__hd"> <view class="weui-label">学号</view> </view> <view class="weui-cell__bd"> <input class="weui-input" placeholder="请输入学号" value='1635050739' name="no" /> </view> </view> <view class="weui-cell weui-cell_input weui-cell_vcode"> <view class="weui-cell__hd"> <view class="weui-label">姓名</view> </view> <view class="weui-cell__bd"> <input class="weui-input" placeholder="请输入姓名" value='小苏' name="name" /> </view> </view> <view class="weui-cell weui-cell_input"> <view class="weui-label">性别</view> <input class="weui-input" name='sex' value='{{sex}}'/> <view class='weui-cell_ft'> <switch checked bindchange='switch1Change'></switch> </view> </view> <view class="weui-cell weui-cell_input weui-cell_vcode"> <view class="weui-cell__hd"> <view class="weui-label">年龄</view> </view> <view class="weui-cell__bd"> <input class="weui-input" placeholder="请输入年龄" value='20' name="age" /> </view> </view> </view> <view class="weui-btn-area"> <button class="weui-btn" type="primary" bindtap="showTopTips" formType="submit">注册</button> <button class="weui-btn" type="default" bindtap='cancel'>返回上级</button> </view> </form>
Der WXML-Code zum Hochladen von Bildern lautet wie folgt:
<view class="page" xmlns:wx="http://www.w3.org/1999/xhtml"> <view class="weui-cells__title text">图像采集</view> <view class="weui-cells__title text">{{options.name}} {{options.no}}</view> <form bindsubmit="formSubmit"> <view class="page__bd"> <view class="weui-cells"> <view class="weui-cell"> <view class="weui-cell__bd"> <view class="weui-uploader"> <view class="weui-uploader__hd"> <view class="weui-uploader__title">图片上传</view> <view class="weui-uploader__info">{{files.length}}/1</view> </view> <view class="weui-uploader__bd"> <view class="weui-uploader__files" id="uploaderFiles"> <block wx:for="{{files}}" wx:key="*this"> <view class="weui-uploader__file" bindtap="previewImage" id="{{item}}"> <image class="weui-uploader__img" src="{{item}}" mode="aspectFill"/> </view> </block> </view> <view class="weui-uploader__input-box"> <view class="weui-uploader__input" bindtap="chooseImage"></view> </view> </view> </view> </view> </view> </view> </view> <view class="weui-btn-area"> <button class="weui-btn" type="primary" form-type="submit">确认</button> <button class="weui-btn" type="default" bindtap='cancel'>取消</button> </view> </form> </view>
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er hilfreich ist Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!
Verwandte Empfehlungen:
Zwei Möglichkeiten, zur Seite im WeChat-Miniprogramm zu springen
Das WeChat-Miniprogramm implementiert das Anmeldeseite Animationseffekt schwebender Wolken
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Gesichtserkennung im WeChat-Applet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Das offizielle WeChat-Miniprogramm von Xianyu wurde stillschweigend gestartet. Im Miniprogramm können Sie private Nachrichten posten, um mit Käufern/Verkäufern zu kommunizieren, persönliche Informationen und Bestellungen anzuzeigen, nach Artikeln zu suchen usw. Wenn Sie neugierig sind, was ist das Xianyu WeChat Mini? Programm namens? Werfen wir einen Blick darauf. Wie heißt das Xianyu WeChat-Applet? Antwort: Xianyu, Leerlauftransaktionen, Gebrauchtverkäufe, Bewertungen und Recycling. 1. Im Miniprogramm können Sie inaktive Nachrichten posten, mit Käufern/Verkäufern über private Nachrichten kommunizieren, persönliche Informationen und Bestellungen einsehen, nach bestimmten Artikeln suchen usw. 2. Auf der Seite des Miniprogramms gibt es eine Homepage, in der Nähe, Posten Sie Leerlauf, Nachrichten und meine 5 Funktionen. 3. Wenn Sie es nutzen möchten, müssen Sie die WeChat-Zahlung aktivieren, bevor Sie es kaufen können.

WeChat-Applet implementiert Bild-Upload-Funktion Mit der Entwicklung des mobilen Internets ist das WeChat-Applet zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. WeChat-Miniprogramme bieten nicht nur eine Fülle von Anwendungsszenarien, sondern unterstützen auch vom Entwickler definierte Funktionen, einschließlich Funktionen zum Hochladen von Bildern. In diesem Artikel wird erläutert, wie die Bild-Upload-Funktion im WeChat-Applet implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. 1. Vorbereitende Arbeiten Bevor wir mit dem Schreiben von Code beginnen, müssen wir die WeChat-Entwicklertools herunterladen und installieren und uns als WeChat-Entwickler registrieren. Gleichzeitig müssen Sie auch WeChat verstehen

Um den Dropdown-Menüeffekt in WeChat-Miniprogrammen zu implementieren, sind spezifische Codebeispiele erforderlich. Mit der Popularität des mobilen Internets sind WeChat-Miniprogramme zu einem wichtigen Bestandteil der Internetentwicklung geworden, und immer mehr Menschen haben begonnen, darauf zu achten Verwenden Sie WeChat Mini-Programme. Die Entwicklung von WeChat-Miniprogrammen ist einfacher und schneller als die herkömmliche APP-Entwicklung, erfordert jedoch auch die Beherrschung bestimmter Entwicklungsfähigkeiten. Bei der Entwicklung von WeChat-Miniprogrammen sind Dropdown-Menüs eine häufige UI-Komponente, um eine bessere Benutzererfahrung zu erzielen. In diesem Artikel wird detailliert beschrieben, wie der Dropdown-Menüeffekt im WeChat-Applet implementiert wird, und es werden praktische Informationen bereitgestellt

1. Wir können Siri vor dem Schlafengehen fragen: Wessen Telefon ist das? Siri hilft uns automatisch, die Gesichtserkennung zu deaktivieren. 2. Wenn Sie es nicht deaktivieren möchten, können Sie Face ID aktivieren und [Blick erforderlich, um Face ID zu aktivieren] aktivieren. Auf diese Weise kann der Sperrbildschirm nur geöffnet werden, wenn wir zuschauen.

Verwenden Sie das WeChat-Applet, um den Karussellwechseleffekt zu erzielen. Das WeChat-Applet ist eine leichtgewichtige Anwendung, die einfach und effizient zu entwickeln und zu verwenden ist. In WeChat-Miniprogrammen ist es eine häufige Anforderung, Karussellwechseleffekte zu erzielen. In diesem Artikel wird erläutert, wie Sie mit dem WeChat-Applet den Karussell-Umschalteffekt erzielen, und es werden konkrete Codebeispiele aufgeführt. Fügen Sie zunächst eine Karussellkomponente zur Auslagerungsdatei des WeChat-Applets hinzu. Sie können beispielsweise den Tag <swiper> verwenden, um den Schalteffekt des Karussells zu erzielen. In dieser Komponente können Sie b übergeben

Implementieren von Bildfiltereffekten in WeChat-Miniprogrammen Mit der Popularität von Social-Media-Anwendungen wenden Menschen immer häufiger Filtereffekte auf Fotos an, um den künstlerischen Effekt und die Attraktivität der Fotos zu verstärken. Bildfiltereffekte können auch in WeChat-Miniprogrammen erzielt werden, wodurch Benutzer interessantere und kreativere Fotobearbeitungsfunktionen erhalten. In diesem Artikel wird erläutert, wie Bildfiltereffekte in WeChat-Miniprogrammen implementiert werden, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die Canvas-Komponente im WeChat-Applet verwenden, um Bilder zu laden und zu bearbeiten. Die Canvas-Komponente kann auf der Seite verwendet werden

Verwenden Sie die Go-Sprache, um leistungsstarke Gesichtserkennungsanwendungen zu entwickeln. Zusammenfassung: Die Gesichtserkennungstechnologie ist im heutigen Internetzeitalter ein sehr beliebtes Anwendungsfeld. In diesem Artikel werden die Schritte und Prozesse zur Entwicklung leistungsstarker Gesichtserkennungsanwendungen mithilfe der Go-Sprache vorgestellt. Durch die Nutzung der Parallelitäts-, Hochleistungs- und Benutzerfreundlichkeitsfunktionen der Go-Sprache können Entwickler einfacher leistungsstarke Gesichtserkennungsanwendungen erstellen. Einleitung: In der heutigen Informationsgesellschaft wird Gesichtserkennungstechnologie häufig in der Sicherheitsüberwachung, Gesichtszahlung, Gesichtsentsperrung und anderen Bereichen eingesetzt. Mit der rasanten Entwicklung des Internets

Als intelligente Servicesoftware spielt DingTalk nicht nur eine wichtige Rolle beim Lernen und Arbeiten, sondern setzt sich durch seine leistungsstarken Funktionen auch dafür ein, die Benutzereffizienz zu verbessern und Probleme zu lösen. Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Gesichtserkennungstechnologie allmählich in unser tägliches Leben und unsere Arbeit eingedrungen. Wie nutzt man die DingTalk-App für die Gesichtserkennung? Im Folgenden gibt es eine ausführliche Einführung. Wer mehr wissen möchte, kann sich die Bilder und Texte dieses Artikels ansehen! Wie zeichnet man Gesichter auf DingTalk auf? Nachdem Sie die DingTalk-Software auf Ihrem Mobiltelefon geöffnet haben, klicken Sie unten auf „Workbench“, suchen Sie dann nach „Anwesenheit und Uhr“ und klicken Sie zum Öffnen. 2. Klicken Sie dann unten rechts auf der Anwesenheitsseite auf „Einstellungen“, um einzutreten, und klicken Sie dann auf der Einstellungsseite auf „Meine Einstellungen“, um zu wechseln.
