0. Outline
# Installation Environment
[OS] Window 10 21H2
[HW] Macbook Pro 2019, 16inch
Plain Text
복사
# Installation Goal
[OS] Ubuntu 18.04
[VM] VMware Workspace 17 Player
Plain Text
복사
1. VMware Installation & Setting
밑의 링크로 이동하여 VMWare 설치 파일을 다운받아주세요.
사이트가 좀 복잡합니다… 2022년에 작성된 블로그들에 비해 다운로드 사이트가 변해서 설치 파일 링크를 찾는게 좀 복잡했습니다.
[3] 설치 파일
링크를 누르시면 [1]과 같은 화면을 보실 수 있습니다. 여기서 [2]에 해당하는 다운로드 버튼을 눌러서 설치 파일을 다운받고 실행해주세요! ( [3]과 같은 파일이 다운됩니다. )
파일을 처음 실행하면 오른쪽과 같은 오류 메시지가 발생할 수도 있습니다. 예(Y)를 클릭하여 윈도우를 재시작한 다음 설치 파일 다시 실행하시면 정상 작동할 것 같습니다.
[4] relaunch 메시지
다음과 같이 설치를 진행하시면 됩니다. 저는 5-4의 두 옵션을 제외하고는 기본값 그대로 설치하였습니다.
설치 옵션들 잘 확인하시고 진행하세요!
[5-1] Installation - First Scene
[5-2] Installation - Agreement
[5-3] Installation
[5-4] Installation
[5-5] Installation
[5-6] Installation - Last Scene
설치 중인 화면입니다.
그렇게 오래 걸리지는 않았습니다.
1~2분 정도의 설치를 완료하면 Install Wizard를 종료하셔도 됩니다.
[6] Installing …
[7] Install Complete
다음이 첫 번째 실행 화면입니다.
free, non-commercial 비상업적 사용을 클릭하고 진행합시다.
[8-2] 처럼 설정을 완료하시면 됩니다. 여기까진 간단합니다.
[8-1] Usage setting
[8-2] Setting Complete
다음 화면이 뜨면 설치 완료! 이제 Ubuntu 설치 과정으로 넘어갑시다.
[9] VMware First Execution
[2] 다운로드 버튼
2. Ubuntu 18.04 Install
ROS1은 Ubuntu 18.04에 호환됩니다. 22.04보다는 18.04를 사용하는 걸 추천드립니다.
위의 사이트에 접속하여 ubuntu 18.04의 이미지 파일(.iso)을 다운받아주세요.
용량이 2.3GB입니다..! 시간이 걸릴 수 있습니다.
전 다운이 중간에 계속 끊겨서 시간이 추가로 걸린 것 같습니다.
[10] Ubuntu 18.04 LTS
[11] Ubuntu 18.04 iso file download
.iso 파일 올려놓겠습니다. 다운이 잘 안되면 이걸로 다운받아 주세요!
본격적으로 설치하겠습니다. Create a New Virtual Machine을 진행해주세요.
[12]
설치 세팅입니다!
첫 화면에서 I will install the operating system later.를 선택하세요.
두 번째 화면에서는 Linux 및 Ubuntu 64-bit을 선택하세요.
[13-1] VM Wizard Installation Setting
[13-2] VM Wizard Installation Setting
[13-3] VM Wizard Installation Setting
가상 머신 이름 입력하시고, 용량 세팅 진행해주세요. 저는 30GB로 했습니다!
[13-4] VM Wizard Installation Setting
[13-5] VM Wizard Installation Finish
이후 Edit virtual machine settings을 선택하고 CD/DVD에 다운받은 .iso를 입력시킵니다.
[14] iso file input
[14-2]
[15-1] Install Ubuntu
이후 평범하게 우분투를 설치하시면 됩니다. 저는 Minimum version setting과 id/password 외에는 따로 설정한 부분이 없습니다. 설치 완료 후 재시작 안내 메시지가 뜹니다!
[15-2] Install Ubuntu
[15-3] Install Ubuntu
[15-4] Install Ubuntu
[15-5] Install Ubuntu
[15-6] Install Ubuntu
[15-7] Install Ubuntu
[15-8] Install Ubuntu
[15-9] Install Ubuntu
[15-10] Restart Ubuntu
3. 캠 연결 테스트
[16] Cam connection
먼저 캠을 연결한 후, 상단 이미지처럼 Removable Devices / MyWebCam / Connect를 눌러 연결합니다.
전 이미 연결해놓은 상태라서 Disconnect로 표시되있습니다.
이제 코드 실행으로 테스트해봅시다!
필요 라이브러리 설치는 중간중간에 계속 진행해주세요!
# 0. vim과 python3 설치 및 Workspace 폴더 생성
sudo apt install vim python3
mkdir Workspace
cd Workspace
# 1. test_cam.py 만들기
vim test_cam.py
Shell
복사
이후 생성한 test_cam.py에 이 코드를 입력하세요!
# python3 code
import cv2
if __name__ == '__main__':
frame = cv2.VideoCapture(2)
while frame.isOpened():
rst, img = frame.read()
if img is None:
print("Image Load Failure")
break
print(img)
cv2.imshow('frame', img)
act = cv2.waitKey(10) & 0xFF
# press q to exit
if act == ord('q') or act == 113:
break
frame.release()
cv2.destroyAllWindows()
Python
복사
실행하기 위해 다음과 같이 진행해주세요!
# pip 및 cv2 설치
sudo apt install python-pip3
pip3 install opencv-python
# 실행
python3 test_cam.py
Shell
복사
저는 실행 시 다음과 같은 에러가 발생하였습니다.
command python setup.py egg_info failed with error code 1 in /tmp/pip-build
Plain Text
복사
setuptools에서 에러가 발생했으므로 아래 커맨드로 업데이트합니다.
이후 다시 cv2 설치를 시도하시면 됩니다.
sudo -H pip3 install --upgrade --ignore-installed pip setuptools
pip3 install opencv-python
Shell
복사
저는 이 시점에서 Building wheel for opencv-python (pyproject.toml)이 무한으로 돌아가는 버그가 존재했습니다.
같은 문제에 대한 StackOverflow입니다.
wheel 업데이트로도 해결이 안되서 버전 강제 다운그레이드?로 해결했습니다.
pip3 install opencv-python==4.5.3.56
Shell
복사
이제 cv2는 정상적으로 실행이 됩니다.
허나, 파이썬 파일을 실행하실 경우 다음과 같은 오류가 뜰 수 있습니다.
can't open camera by index
Plain Text
복사
먼저 cheese 등의 외부 프로그램을 통해 카메라가 VMware에 입력되는지 확인합니다.
이후 /dev/의 videoN에 권한을 부여한 후, 인덱스별로 하나하나 실행해보시면 그 중 되는게 있을겁니다!
# /dev/에 있는 video 확인
ls /dev/ | grep "video"
Shell
복사
이렇게 실행할 경우 저는 video0과 video1이 존재한다고 표시됬었습니다.
여기에서 각각 다음 명령어를 실행하여 모두 777 권한을 부여해봅시다.
# 권한 부여, N에 존재하는 video를 다 넣고 돌려보시면 됩니다.
chmod 777 /dev/video[N]
Shell
복사
이후 하나씩 테스트해보시면 맞는걸 찾을 수 있습니다.
python3 test_cam.py
Shell
복사
출력이 잘 되는걸 확인할 수 있었습니다.
[17] 출력이 잘 되는 모습