<!-- HTML Example --><!DOCTYPE html><html><head><metacharset="utf-8"><scriptsrc="https://docs.opencv.org/3.4/opencv.js"></script><scriptsrc="https://obniz.io/js/jquery-3.2.1.min.js"></script><scriptsrc="https://unpkg.com/obniz@2.0.2/obniz.js"></script></head><body><divid="obniz-debug"></div><div><divclass="control"><buttonid="startAndStop">Start</button></div></div><pclass="err"id="errorMessage"></p><div><tablecellpadding="0"cellspacing="0"width="0"border="0"><tr><td><videoid="videoInput"width=320height=240></video></td><td><canvasid="canvasOutput"width=128height=64style="-webkit-font-smoothing:none"></canvas></td><td></td><td></td></tr><tr><td><divclass="caption">videoInput</div></td><td><divclass="caption">canvasOutput</div></td><td></td><td></td></tr></table></div><scriptsrc="https://webrtc.github.io/adapter/adapter-5.0.4.js"type="text/javascript"></script><scriptsrc="https://docs.opencv.org/3.4/utils.js"type="text/javascript"></script><scripttype="text/javascript">obniz=newObniz("OBNIZ_ID_HERE");obniz.onconnect=async()=>{obniz.display.print("ready")}letutils=newUtils('errorMessage');letstreaming=false;letvideoInput=document.getElementById('videoInput');letstartAndStop=document.getElementById('startAndStop');letcanvasOutput=document.getElementById('canvasOutput');letcanvasContext=canvasOutput.getContext('2d');startAndStop.addEventListener('click',()=>{if(!streaming){utils.clearError();utils.startCamera('qvga',onVideoStarted,'videoInput');}else{utils.stopCamera();onVideoStopped();}});functiononVideoStarted(){streaming=true;startAndStop.innerText='Stop';videoInput.width=videoInput.videoWidth;videoInput.height=videoInput.videoHeight;start();}functiononVideoStopped(){streaming=false;canvasContext.clearRect(0,0,canvasOutput.width,canvasOutput.height);startAndStop.innerText='Start';}functionstart(){letvideo=document.getElementById('videoInput');letsrc=newcv.Mat(video.height,video.width,cv.CV_8UC4);letdst=newcv.Mat();letcap=newcv.VideoCapture(video);constFPS=20;functionprocessVideo(){if(!streaming){src.delete();dst.delete();return;}letbegin=Date.now();cap.read(src);cv.cvtColor(src,dst,cv.COLOR_RGBA2GRAY);cv.Canny(dst,dst,50,100,3,false);letdsize=newcv.Size(128,64);cv.resize(dst,dst,dsize,0,0,cv.INTER_AREA);cv.threshold(dst,dst,50,255,cv.THRESH_BINARY);cv.imshow('canvasOutput',dst);letdelay=1000/FPS-(Date.now()-begin);setTimeout(processVideo,delay);letctx=$("#canvasOutput")[0].getContext('2d');obniz.display.draw(ctx)};setTimeout(processVideo,0);}</script></body></html>
Comments
Please log in or sign up to comment.