open3d에 대해서(feat. Azure kinect dk)

행동하는 개발자·2023년 10월 5일
0

Image

목록 보기
2/8
  • 실시간으로 실제 현장을 가상환경으로 재구성하는 것이 필요
    -> Point Cloud 데이터 분석

  • Lidar(Light Detection and Ranging)
    -> 광학 펄스를 비춘 후 반사광으로 거리 측정

Depth Image로부터 변환한 데이터나 Lidar를 활용한 측정 데이터로부터 Point Cloud 데이터 분석이 가능하다.

Point Cloud

  • 동일한 대상이지만 크기, 좌표가 상이할 수 있다.
  • 동일한 대상이지만 점들의 순서가 상이할 수 있다.
  • 실제 스캔 시, 취득되는 점의 수가 가변적이다.
  • 특정 각도에서는 특정 형상에 대해서만 취득될 수 있다.

npy vs png

npy

배열의 데이터 유형, 모양 및 기타 속성을 설명하는 메타데이터를 포함하는 이진 파일 형식이다. 복소수, 다차원 배열 등을 포함하여 Numpy 배열이 나타낼 수 있는 모든 데이터 유형을 저장할 수 있다. 기본적으로 압축을 사용하고 원시 바이너리 데이터를 보존하므로 대규모 배열을 읽고 쓰는 데 효율적이다.

png

png(Portable Network Graphics)형식은 래스터 이미지를 저장하는 데 사용되는 이미지 파일 형식이다. 주로 컬러 및 회색조 이미지를 저장하는 데 사용된다. 무손실 압축을 사용하여 이미지 데이터가 품질 손실 없이 보존되고, 더 컴팩트하게 저장될 수 있지만 원시 바이너리 데이터만큼 읽기/쓰기가 빠르지 ㅇ낳을 수 있다.

Azure Kinect dk

python으로 사진을 실행시키기 위해서는 pyk4a라는 모듈을 install해야 한다. install시킨 후에는 다음과 같은 코드로 실행시키고 depth camera의 렌즈가 향하고 있는 물체를 capture할 수 있다.

from pyk4a import PyK4A, Config

k4a = PyK4A(Config())
k4a.start()

capture = k4a.get_capture()

caputre한 이미지는 다음 코드를 이용해서 rgb 이미지와 depth 이미지를 구분해서 불러올 수 있다.

color_image = capture.color
depth_image = capture.depth
profile
끊임없이 뭔가를 남기는 사람

0개의 댓글