Engineering/DEV-OPs

MacOS에서 x11프로토콜로 opencv imshow() 확인 하기

luckydipper 2024. 1. 24. 23:22

Docker container 안에서 실행한 opencv 의 imshow를 어떻게 볼 수 있는지에 관한 코드입니다.

1. docker를 다운로드

https://docs.docker.com/desktop/install/mac-install/
해당 링크에 들어가서 docker를 다운받습니다.

2. X11, XQuartz 다운로드

Mac 컴퓨터에 brew를 다운 받은 후, 터미널에

brew install --cask xquartz

을 통해 다운 받습니다.

3. XQuartz 보안 설정을 변경

4. docker image를 build

Dockerfile

FROM ubuntu:22.04
RUN apt-get update
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y cmake git libeigen3-dev libjpeg-dev libpng-dev libopencv-dev 
RUN apt-get install -y build-essential 
docker build -t imshow_docker:v2 .

mac이 아닌 리눅스 같은 환경이라면 DISPLAY:=0으로 넣어줍니다.

5. 다른 터미널에서 x11 protocol을 활성화

xhost+ 

6. 다음 스크립트로 도커 실행

docker run --net=host --ipc=host -e DISPLAY=docker.for.mac.host.internal:0 -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/Desktop/DEV/DOCKER_PRACTICE:/root/workspace -it imshow_docker:v2

Reference : https://github.com/luckydipper/opencv_imshow_docker

'Engineering > DEV-OPs' 카테고리의 다른 글

CMake로 Opencv project 만들기!  (1) 2024.01.26