전체 글 83

WebRTC를 이용한 화상채팅

1. 개요 아래 깃허브의 예제 step-05를 약간 수정하였다. 서버 프로그램을 먼저 실행 시킨후 같은 방에 2명이 접속하여 WebRTC로 서로 화상채팅을 할 수 있다. Chrome 브라우저에서는 잘 동작하지 않는다. FireFox 브라우저에서 테스트를 한다. https://github.com/googlecodelabs/webrtc-web 2. 서버 프로그램 다운받은 예제 step-05 폴더에서 >npm install 을 하여 필요한 패키지를 다운로드 받는다. step-01부터 step04까지 http를 이용하여 테스트를 진행하였으나 step-05에서 테스트의 어려움이 있어 https 로 서버프로그램을 실행한다. node.js에서 https로 서비스하기 위한 절차는 여기에서 다루지 않는다. step-04..

카테고리 없음 2022.03.14

Node.JS 와 Socket.IO를 이용한 미니 Service 제작

1. 개요 아래 깃허브의 예제 step-04는 Socket.IO가 이전 버전으로 약간의 수정이 필요하다. 서버 프로그램을 먼저 실행 시킨후 클라이언트가 방번호를 제공하면서 접속하면 해당 방을 만들어 주고 최대 2명 까지만 접속을 허용한다. https://github.com/googlecodelabs/webrtc-web 2. 서버 프로그램 예제 step-04에서 > npm install 을 하여 필요한 모듈을 설치한다. 다음 서버 프로그램 index.js 파일을 실행한다. index.js 소스를 약간 수정하였다. // Socket.IO는 브라우저와 서버 간의 실시간, 양방향, 그리고 이벤트 기반 통신을 // 가능하게 해주는 라이브러리입니다. //npm install socket.io 'use strict'..

카테고리 없음 2022.03.13

Node.JS 와 Socket.IO를 이용한 Web 기반 그룹채팅

1. 개요 웹을 기반으로 하는 그룹채팅 프로그램을 만들어보자. Node.JS와 Socket.IO을 사용한다. 여러개의 클라이언트가 서버에 접속되어 있고 하나의 클라이언트가 서버에 메시지를 보내면 서버는 이를 모든 클라이언트에 중계한다. https://socket.io/get-started/chat 2. 서버 프로그램 server.js 파일을 아래와 같이 만들고 node server.js 로 실행한다. const express = require('express'); const app = express(); const http = require('http'); const server = http.createServer(app); const { Server } = require("socket.io"); con..

카테고리 없음 2022.03.12

WebRTC를 이용한 Stream video with RTCPeerConnection

1. 개요 Signaling Server를 사용하지 않고 같은 컴퓨터에서 RTCPeerConnection를 이용하여 스트림 영상을 전달한다. https://github.com/googlecodelabs/webrtc-web의 step-02 예제이다. 이해가 편하도록 약간의 편집을 하였다. 2개의 peer 사이에 다음과 같은 절차로 데이터를 주고 받는다. 3. html 파일 Realtime communication with WebRTC Start Call Hang Up 4. js 파일 'use strict'; // Set up media stream constant and parameters. // In this codelab, you will be streaming video only: "video: tr..

카테고리 없음 2022.03.12

WebRTC를 이용한 웹캠 영상 보기

1. 개요 WebRTC (Web Real-Time Communication)는 웹 브라우저 간에 플러그인 도움 없이 상호 통신할 수 있도록 설계된 JavaScript API이다. WebRTC는 음성 통화, 영상 통화, P2P 파일 공유 등으로 활용 될 수 있다. https://webrtc.org/getting-started/overview https://github.com/googlecodelabs/webrtc-web 2. 위의 예제를 다운로드 받아 실행하면서 배워 보기로 하자. 윈도우즈(10)에 node.js를 https://nodejs.org/en/ 에서 다운로드 받고 설치한다. PowerShell에서 node -v 명령어를 이용하여 제대로 설치 되었는지 확인한다. 반드시 node.js를 사용할 이유..

카테고리 없음 2022.03.10

Unity에서 360도 파노라마 Video Player 만들기

1. 개요 유니티를 이용하여 360도 파노라마 비디오 플레이어를 만들어보자. 2. 프로젝트를 시작하고 Scene에 VideoPlayer를 설치한다. 3. 인터넷에서 360도 파노라마 비디오 파일을 다운로드 받는다. Assets/Resourecs 폴더를 만들고 저장하였다. 예) ayutthaya.mp4 https://www.mettle.com/360vr-master-series-free-360-downloads-page/ 4. Render texture를 만든다. 5. material 를 만들고 shader 설정에 Skybox/Panormamic를 선택한다. 또한 spherical(HDR)에 위에서 생성한 render texture를 참조시킨다. render texture를 사용하는 material을 만드..

카테고리 없음 2022.02.26

Matterport

1. 개요 Matterport는 미국 캘리포니아 서니베일에 본사를 둔 회사로 실제 사물을 디지털화하고 인덱싱하는 데 주력하는 선도적인 가상공간 플랫폼 데이터 회사이다. 이와 유사한 비지니스와 관련제품이 앞으로도 계속 나올 것 같다. https://matterport.com/ Capture, share, and collaborate the built world in immersive 3D Today, thousands of companies in over 150 countries use Matterport to digitize any type of space — from homes, offices and hotels to factories and shops. Industries across the enti..

카테고리 없음 2021.10.20

KITTI BIN파일을 PCD(Text) 파일로 변환하기(python)

1. 개요 KITTI 에서 제공하는 LADAR(Laser Detection And Ranging) 센서정보를 Visualize 하여 보자. 제공되는 bin 파일을 텍스트 PCD 파일로 변환하고 사용할 것이다. 아래 싸이트에서 다운로드를 한다. http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d 2. bin 파일을 PCD 텍스트 파일로 변환한다. import struct import sys from struct import unpack def readBinFile(fname): x = [] y = [] z = [] try: with open(fname, 'rb') as fp: while True: val1 = unpack('

카테고리 없음 2021.10.19

python PCL 사용하기( Windows 10 with PIP)

1. 개요 Point Cloud Library(PCL)는 point cloud 데이터를 처리하는 open-source library이다. 윈도우즈 환경에서 파이썬을 이용하여 PCL 라이브러리를 pip로 설치하고 사용한다. https://pointclouds.org/ 2. OpenNI 설치 Point Cloud Library(PCL) 에서 사용하는 OpenNI를 먼저 설치 해본다. 3. PCL 설치 다음은 PCL SDK의 설치이다. ( https://github.com/strawlab/python-pcl ) 4. python package 설치 python_pcl-0.3-cp36-cp36m-win_amd64.whl 를 아래에서 다운로드 받는다. https://drive.google.com/u/0/uc?id..

카테고리 없음 2021.10.19

OpenCV 와 PIL 의 상호 변환(파이썬)

1. 개요 유용한 코드는 잘 관리하여 필요할 때 빠르게 검색복사해서 수정하여 사용하면 업무의 효율을 올릴 수 있다. Opencv Image와 PIL Image는 상호 변환이 필요한 경우가 많아서 이곳에 정리하여 올려본다. 2. 샘플코드 import cv2 import numpy as np from PIL import Image import matplotlib.pyplot as plt def PIL2OpenCV(pil_image): numpy_image= np.array(pil_image) opencv_image = cv2.cvtColor(numpy_image, cv2.COLOR_RGB2BGR) return opencv_image def OpenCV2PIL(opencv_image): color_covert..

카테고리 없음 2021.10.03