メニュー 閉じる

157. PythonのOpenCVを使ってARマーカーを読み取ってみる

Pythonのarucoライブラリを使うとARマーカーを読み取ることができます。
この空間情報をTouchDesignerに持っていけないだろうか・・・。

import cv2 

aruco = cv2.aruco

dictionary = aruco.getPredefinedDictionary (aruco.DICT_4X4_50)

cap = cv2.VideoCapture (0)

ret, frame = cap.read ()

def ar_reader ():

    global frame_count

    global rec_flag

    while True:

        ret, frame = cap.read ()

        height, width = frame.shape[:2]

        quad_h = height / 4
        quad_w = width / 4
        quad_image = cv2.resize (frame,(int (quad_w),int (quad_h)))

        corners, ids, rejectedImgPoints = aruco.detectMarkers (quad_image, dictionary)

        aruco.drawDetectedMarkers (quad_image, corners, ids, (0, 255, 0))

        cv2.imshow ('drawDetectedMarkers', quad_image)

        cv2.waitKey (1)

    cap.release ()
    cv2.destroyAllWindows ()

if __name__ == '__main__':

    ar_reader ()

 

Posted in python