11import Camera from '@paddlejs-mediapipe/camera' ;
2- import * as humanseg from '@paddlejs-models/humanseg' ;
2+ import * as humanseg from '@paddlejs-models/humanseg/lib/index_gpu ' ;
33
44let camera = null ;
55const loadingDom = document . getElementById ( 'isLoading' ) ;
@@ -9,6 +9,18 @@ const videoToolDom = document.getElementById('video-tool');
99const bgElement = document . createElement ( 'div' ) as HTMLDivElement ;
1010const container = document . querySelector ( 'body' ) ;
1111
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+
1224container . appendChild ( bgElement ) ;
1325
1426load ( ) ;
@@ -35,18 +47,15 @@ const canvas1 = document.getElementById('demo') as HTMLCanvasElement;
3547const videoCanvas = document . createElement ( 'canvas' ) as HTMLCanvasElement ;
3648const videoCanvasCtx = videoCanvas . getContext ( '2d' ) ;
3749async function load ( ) {
38- await humanseg . load ( true , true ) ;
50+ await humanseg . load ( ) ;
3951 camera = new Camera ( video , {
4052 mirror : true ,
4153 enableOnInactiveState : true ,
4254 onFrame : async ( ) => {
4355 videoCanvas . width = video . width ;
4456 videoCanvas . height = video . height ;
4557 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 ) ;
5059 }
5160 } ) ;
5261}
0 commit comments