[opencv] 공부 (1)
2018. 10. 7. 05:16
잠깐 쓸데가 있어서 openCV로 이미지 인식에 대한 공부 시작.
나중에 혹시 까먹을/다시 해야할 날을 대비해서 기록.
node.js 서버 이용, openCV.js 레퍼런스 페이지를 보고 따라서 함.
1. opencv.js 다운로드 https://docs.opencv.org/master/opencv.js
2. 페이지를 띄운 후 적당히 그림하나를 추가함.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello OpenCV.js</title> </head> <body> <h2>Hello OpenCV.js</h2> <div> <div class="inputoutput"> <img id="imageSrc" alt="No Image" /> <div class="caption">imageSrc <input type="file" id="fileInput" name="file" /></div> </div> </div> <script type="text/javascript"> let imgElement = document.getElementById("imageSrc") let inputElement = document.getElementById("fileInput"); inputElement.addEventListener("change", (e) => { imgElement.src = URL.createObjectURL(e.target.files[0]); }, false); </script> </body> </html> | cs |
3. opencv를 이용해서 한 셀을 만들어서 그림을 보여주는 영역을 만듬.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello OpenCV.js</title> </head> <body> <h2>Hello OpenCV.js</h2> <p id="status">OpenCV.js is loading...</p> <div> <div class="inputoutput"> <table> <tr> <td> <img id="imageSrc" alt="No Image" /> <div class="caption">imageSrc <input type="file" id="fileInput" name="file" /></div> </td> <td> <!-- 1. opencv canvas --> <canvas id="canvasOutput" ></canvas> <div class="caption">canvasOutput</div> </td> </tr> </table> </div> </div> <script type="text/javascript"> let imgElement = document.getElementById('imageSrc'); let inputElement = document.getElementById('fileInput'); inputElement.addEventListener('change', (e) => { imgElement.src = URL.createObjectURL(e.target.files[0]); }, false); //2. image showing using opencv script imgElement.onload = function() { let mat = cv.imread(imgElement); cv.imshow('canvasOutput', mat); mat.delete(); }; function onOpenCvReady() { document.getElementById('status').innerHTML = 'OpenCV.js is ready.'; } </script> <!-- 3. opencv script loading --> <script async src="opencv.js" onload="onOpenCvReady();" type="text/javascript"></script> </body> </html> | cs |