All Projects → sanyuered → Wechat Miniprogram Webar

sanyuered / Wechat Miniprogram Webar

Licence: bsd-3-clause
A WeChat MiniProgram Image AR using computer vision. No OpenCV, No Deep Learning. Only JavaScript Implementation.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Wechat Miniprogram Webar

Wechat Miniprogram Ar 3d
A WeChat MiniProgram 3D that includes a Panorama Viewer and a 3D Viewer using the device orientation control.
Stars: ✭ 80 (-50.92%)
Mutual labels:  wechat-mini-program, wechat, ar
Tina Hackernews
📺 A Tina.js powered Wechat-Mini-Program implementation of Hacker News Reader
Stars: ✭ 93 (-42.94%)
Mutual labels:  wechat-mini-program, wechat
Phps.shop Api
如花拼团商城_TP5_VUE_小程序
Stars: ✭ 90 (-44.79%)
Mutual labels:  wechat-mini-program, wechat
Miniprogram Project
微信小程序,诗词大全,成语大全,百家姓,成语接龙(垃圾分类查询小程序)
Stars: ✭ 114 (-30.06%)
Mutual labels:  wechat-mini-program, wechat
Crmeb wechatminiprogram
CRMEBv2.6以客户管理为中心+电商营销系统,微信小程序商城,带分销、秒杀、积分、优惠券等功能
Stars: ✭ 158 (-3.07%)
Mutual labels:  wechat-mini-program, wechat
Mina Webpack
🍱 Mina single-file-component meets Webpack
Stars: ✭ 77 (-52.76%)
Mutual labels:  wechat-mini-program, wechat
Rageframe2
一个基于Yii2高级框架的快速开发应用引擎
Stars: ✭ 1,553 (+852.76%)
Mutual labels:  wechat-mini-program, wechat
Supermarketmini
基于wepy2.x 仿苏宁小店小程序,API采用go开发(已开源),项目正在开发中,欢迎加群:160301726
Stars: ✭ 73 (-55.21%)
Mutual labels:  wechat-mini-program, wechat
Alita
一套把React Native代码转换成微信小程序代码的转换引擎工具。我们不造轮子,不发明新框架,只是提供工具把RN扩展到微信小程序端。
Stars: ✭ 1,733 (+963.19%)
Mutual labels:  wechat-mini-program, wechat
Rktk Wxx
软考题库微信小程序 ENJOY
Stars: ✭ 131 (-19.63%)
Mutual labels:  wechat-mini-program, wechat
Facemoji Kit
Face tracker with blend shapes coefficients, 3D head pose and dense mesh in real-time on iOS, Android, Mac, PC and Linux.
Stars: ✭ 158 (-3.07%)
Mutual labels:  face-detection, ar
Taro Msparis
🌱用 React 编写的基于Taro + Dva构建的适配不同端(微信/百度/支付宝小程序、H5、React-Native 等)的时装衣橱
Stars: ✭ 1,203 (+638.04%)
Mutual labels:  wechat-mini-program, wechat
Weapp Qrcode
weapp.qrcode.js 在 微信小程序 中,快速生成二维码
Stars: ✭ 1,194 (+632.52%)
Mutual labels:  wechat-mini-program, wechat
Yoshop
萤火小程序商城,是在Thinkphp5基础上搭建的一个PHP项目,前后端完全开源。Thinkphp5以易学易用著称,让您轻松打造自己的独立商城,同时也方便二次开发,让您快速搭建个性化独立商城。
Stars: ✭ 137 (-15.95%)
Mutual labels:  wechat-mini-program, wechat
Agora Miniapp Tutorial
Hello world for Agora SDK running in https://en.wikipedia.org/wiki/WeChat#WeChat_Mini_Program
Stars: ✭ 75 (-53.99%)
Mutual labels:  wechat-mini-program, wechat
Threejs Example For Miniprogram
这是一个 three.js 在微信小程序里的使用示例
Stars: ✭ 96 (-41.1%)
Mutual labels:  wechat-mini-program, wechat
Weixin Minigame Tutorial
Flappy Bird adaptation on Wechat Minigame using PhaserJS + English Wechat Minigames Tutorial
Stars: ✭ 56 (-65.64%)
Mutual labels:  wechat-mini-program, wechat
Tina
💃 一款轻巧的渐进式微信小程序框架
Stars: ✭ 1,153 (+607.36%)
Mutual labels:  wechat-mini-program, wechat
Git Webhook Ci
A Git (github/gitee) webhook callback server to do stuff e.g. fetch new code (poor man CI)
Stars: ✭ 118 (-27.61%)
Mutual labels:  wechat-mini-program, wechat
Vscode Miniapp Helper
微信小程序开发助手 for VSCode
Stars: ✭ 137 (-15.95%)
Mutual labels:  wechat-mini-program, wechat
  1. Chinese README

  2. Chinese Source Code Analysis

Updated

Date    Update
2021-03-15 New: The display of the AR mask is changed from 2D to 3D by three.js. Update: Because the "access a camera" mode is slow, it is removed.
2019-08-16 Update: The project structure has been modified. The color tracker and object tracker are removed. Fix "access a camera" mode that does not work properly on Android.
2019-08-06 Fix Issue: When function "wx.canvasToTempFilePath" is called frequently on Android Wechat, WeChat will be crashed.
2019-08-01 Update: The perspective transform is achieved.
2019-07-15 Update: The NFT(Natural Feature Tracking) is achieved.
2019-07-08 New: The affine transform is achieved.

Introduction of WeChat Web AR

This is a WeChat Web AR Demo. On July 5, 2019, WeChat miniprogram supports AR. It has been added a new API named "CameraFrameListener".

CameraFrameListener API

We can create AR effects with the new API. This demo demonstrates a AR tracker effect using "tracking.js" and "jsfeat" library.

The "tracking.js" brings computer vision algorithms and techniques into browser environment. The "jsfeat" is also a JavaScript computer vision library. We can do real-time image and face detection.

tracking.js and JSFeat

Index Page of the WeChat Mini-program

avatar

Image AR

Use the demo to scan a pattern image below.

avatar

A cat beard is on the pattern image.

avatar

A effect of translating and scaling.

avatar

A effect of rotating.

avatar

Face AR

Use the demo to scan a face. Expect a effect below.

avatar

A effect of translating and scaling.

avatar

Because landmarks of the demo are simple and basic, only a effect of translating and scaling on a rotating image.

avatar

How to replace the "cat beard" image

You may replace the default url of a image for 2D mask.

File: /package_image_tracker/pages/photo/photo.js and package_face_tracker/pages/photo/photo.js

// a url of sprite image
const modelUrl = '../../utils/cat_beard.png';

The width and height of the "modelurl" image should be 256 x 256, 512 x 512 and 1024 x 1024 etc.

How to replace the pattern image for Image AR

File: /package_face_tracker/utils/imageBusiness.js

const patternImageUrl = '../../../face_pattern.jpg';

a pattern image

avatar

How to put a image on other positions for Image AR

Select a track point on a pattern image, the point is used to set the "cat beard" image.

File: /package_image_tracker/utils/modelBusiness.js

// a index of a track point on a pattern image
const trackPoint = { 
    x: 185, // the width of the pattern image is 375
    y: 224, // the height of the pattern image is 375
};

How to put a image on other positions for Face AR

This is a map of the 31 keypoints of a face.

landmarks

avatar

For example, a number 27 and number 29 are the sides of the mouth.

File: /package_face_tracker/utils/modelBusiness.js

// index of the track points of the face
const trackPointA = {
    // index of a landmark
    id: 27,
    // X coordinate
    x: 155.69898111309, // the width of the face image is 375
};
const trackPointB = {
    // index of a landmark
    id: 29,
    // X coordinate
    x: 216.53075265284997, // the width of the face image is 375
};

Known Issues

The AR demo is slow on iOS WeChat.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].