반응형
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
반응형
최근댓글