반응형

Luxonis사의 OAK-D Pro W를 사용하여 카메라를 사용할 때 보여주는 출력 영상 화면 크기를 변경하여 봐야하는 때가 있는데요. 그 때 화면 크기를 변경하는 방법은 setSize() 함수를 사용하면 됩니다.

 

setSize()

해당 함수를 Python으로 사용하는 방법은 2가지가 있다. 첫 번째로, int형 변수를 2개를 넣는 것(X, Y), 두 번째는 튜플을 넣는 방법이다.

 

int형 변수를 사용하는 setSize()

import depthai as dai
import cv2

# 파이프라인 정의
pipeline = dai.Pipeline()

camRGb = dai.node.Camera
camRgb = pipeline.create(dai.node.Camera)

#Properties
camRgb.setBoardSocket(dai.CameraBoardSocket.CAM_A)
camRgb.setSize(800, 600) # int형 변수 사용

 

튜플을 사용하는 setSize()

import depthai as dai
import cv2

# 파이프라인 정의
pipeline = dai.Pipeline()

camRGb = dai.node.Camera
camRgb = pipeline.create(dai.node.Camera)

#Properties
camRgb.setBoardSocket(dai.CameraBoardSocket.CAM_A)
camRgb.setSize((800, 600)) # 튜플 사용

 

아래의 화면은 setSize를 통해 video 영상을 송출하는 크기들이다.

 

1. 800 X 600

 

 

2. 1280 X 800

 

setSize()를 통해 출력하는 화면 크기를 변경할 수 있고, 이제 여기서 나오는 해상도는 출력하는 방법이 또 다른데 다음 글에서 다뤄보도록 하겠다.

 

전체 소스 코드

import depthai as dai
import cv2

# 파이프라인 정의
pipeline = dai.Pipeline()

camRGb = dai.node.Camera
camRgb = pipeline.create(dai.node.Camera)

#Properties
camRgb.setBoardSocket(dai.CameraBoardSocket.CAM_A)
# camRgb.setSize((1280, 800))
# camRgb.setSize((1920, 1080))
# camRgb.setSize((800, 600)) # 튜플 사용
# camRgb.setSize(800, 600) # int형 변수 사용

# Linking
videoOut = pipeline.create(dai.node.XLinkOut)
videoOut.setStreamName("video2")
camRgb.video.link(videoOut.input)

with dai.Device(pipeline) as device:
    video = device.getOutputQueue(name="video2", maxSize=1, blocking=False)

    while True:
        if video.has():
            cv2.imshow("video2", video.get().getCvFrame())
        if cv2.waitKey(1) == ord('q'):
            break
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기