Open3D

(Open3D)#1 파이썬 Open3D 라이브러리 설치 및 간단 코드 실행

IT & Civil Oreh 2024. 6. 24. 23:28

파이썬에는 Open3D라는 라이브러리가 있다.
 
Open3D는 '점구름' 이라고 불리는 포인트클라우드(Point Cloud) 데이터를 시각화할 수 있다.
 
먼저, 포인트 클라우드를 시각화 하려면 Open3D 라이브러리부터 다운 받아야 한다.
 
내가 한 방법으로 라이브러리 설치가 되지 않는다면 다른 사람들의 코드를 참고해보길 추천
 
(open3d는 파이썬 버전 3.8 추천, 아나콘다 프롬프트에서 pip install opend3d 로 다운하는 방법도 있음)

나는 이런 방식으로 라이브러리 설치가 되었다.
 
 
1. 일단 anaconda prompt를 실행한다.
 
2. 명령창에 pip install laspy 를 치고, 엔터키를 누른다.

이런 식으로 된다면 성공!! 얘는 나중에 포인트클라우드가 las 파일로 있을 때, 데이터를 불러올 수 있도록 하려고 하는거임
 
3. 나는 주피터 노트북(jupyter notebook)을 사용할 것이므로, 주피터 노트북을 실행시켜 준다.
(다른 걸로도 되는지는 모르겠다.)
 
4. 주피터 노트북에서 먼저 !pip install open3d 라고 쳐서, open3d 라이브러리를 다운받는다.

아마 이런식으로 뭐가 많이 뜨고 오류가 나지 않으면 성공이다. 만약 안된다면 파이썬 버전에 문제가 있을 수도
 
여기까지 했다면 open3d 라이브러리 설치는 끝이다. 다음으로는 실행이 잘 되는지 한번 간단한 코드로 확인해보겠다.
 

import open3d as o3d : 파이썬의 open3d 라이브러리를 o3d 라는 이름으로 불러온다.
import numpy as np : 포인트 클라우드는 3차원 배열의 형식을 가지기 때문에 배열을 처리하는 numpy 라이브러리를 불러온다.
pc_array = np.random.rand(1000, 3) : 1000개의 랜덤한 숫자를 3차원으로 생성하여 pc_array라는 변수에 입력한다. 여기서 1000개의 숫자는 0~1 사이의 범위 내에서 생성된다. 
pc = o3d.geometry.PointCloud() : 빈 점군(포인트 클라우드)를 생성한다. 이거는 시각화할 포인트 클라우드 데이터를 가져올 빈 방을 만든다고 생각하면 된다.
pc.points = o3d.utility.Vector3dVector(pc_array) : 앞서서 생성한 3차원 배열의 랜덤한 1000개의 숫자를 빈방에 넣어주는 작업이다.
o3d.visualization.draw_geometries([pc]) : 마지막으로 시각화해주는 코드이다. 여기서 주의해야 할 것은 변수를 입력할때 pc 라고 바로 입력하는 것이 아니라, 리스트형식? 배열 형식? 어쨌든 [ ] 를 사용해서 입력해줘야한다. [pc] 이렇게 말이다.
 
이렇게 코드 입력을 하고 실행시켜주면 결과는 다음과 같다.

이런식으로 실행되면 성공이다. 0~1까지의 범위에서 3차원으로 1000개의 숫자를 생성하여 시각화하였으니, 포인트 클라우드의 모양은 대충 한 변의 길이가 1인 정육면체 모양이 되는 것이다.
이렇게 open3d 라이브러리로 포인트 클라우드를 시각화하고, 시각화된 포인트클라우드를 볼 수 있다. 마우스로 드래그해서 확대/축소도 가능하고 3d로 회전시키면서 볼 수도 있다.
 
 
 
그럼 오늘의 공부는 여기까지..

 

 

 

(Open3D)#2 포인트 클라우드로 직사각형 단면 수치 정보 확인하기 - RANSAC 알고리즘 개념 (tistory.com)

 

(Open3D)#2 포인트 클라우드로 직사각형 단면 수치 정보 확인하기 - RANSAC 알고리즘 개념

(Open3D)#1 파이썬 Open3D 라이브러리 설치 및 간단 코드 실행 (tistory.com) (Open3D)#1 파이썬 Open3D 라이브러리 설치 및 간단 코드 실행파이썬에는 Open3D라는 라이브러리가 있다. Open3D는 '점구름' 이라고

ywlee3460.tistory.com