1
1
import Camera from '@paddlejs-mediapipe/camera' ;
2
- import * as humanseg from '@paddlejs-models/humanseg' ;
2
+ import * as humanseg from '@paddlejs-models/humanseg/lib/index_gpu ' ;
3
3
4
4
let camera = null ;
5
5
const loadingDom = document . getElementById ( 'isLoading' ) ;
@@ -9,6 +9,18 @@ const videoToolDom = document.getElementById('video-tool');
9
9
const bgElement = document . createElement ( 'div' ) as HTMLDivElement ;
10
10
const container = document . querySelector ( 'body' ) ;
11
11
12
+
13
+ const back_canvas = document . getElementById ( 'back' ) as HTMLCanvasElement ;
14
+ const background_canvas = document . createElement ( 'canvas' ) ;
15
+ background_canvas . width = back_canvas . width ;
16
+ background_canvas . height = back_canvas . height ;
17
+
18
+ const img = new Image ( ) ;
19
+ img . src = './bgImgs/bg.jpg' ;
20
+ img . onload = ( ) => {
21
+ background_canvas . getContext ( '2d' ) . drawImage ( img , 0 , 0 , background_canvas . width , background_canvas . height ) ;
22
+ } ;
23
+
12
24
container . appendChild ( bgElement ) ;
13
25
14
26
load ( ) ;
@@ -35,18 +47,15 @@ const canvas1 = document.getElementById('demo') as HTMLCanvasElement;
35
47
const videoCanvas = document . createElement ( 'canvas' ) as HTMLCanvasElement ;
36
48
const videoCanvasCtx = videoCanvas . getContext ( '2d' ) ;
37
49
async function load ( ) {
38
- await humanseg . load ( true , true ) ;
50
+ await humanseg . load ( ) ;
39
51
camera = new Camera ( video , {
40
52
mirror : true ,
41
53
enableOnInactiveState : true ,
42
54
onFrame : async ( ) => {
43
55
videoCanvas . width = video . width ;
44
56
videoCanvas . height = video . height ;
45
57
videoCanvasCtx . drawImage ( video , 0 , 0 , video . width , video . height ) ;
46
- const {
47
- data
48
- } = await humanseg . getGrayValue ( videoCanvas ) ;
49
- humanseg . blurBackground ( data , canvas1 ) ;
58
+ humanseg . drawHumanSeg ( videoCanvas , canvas1 , background_canvas ) ;
50
59
}
51
60
} ) ;
52
61
}
0 commit comments