Find Chessboard in Live (with Python OpenCV)


체스보드 찾기에 대해 라이브 버젼을 만들어 봤다.


#!/usr/bin/python

# -*- coding:utf8 -*-


import cv2

import time

import sys


clicked = False

iscapture = False

deviceid = 0


def onMouse(event, x, y, flags, param):

    global clicked

    global iscapture

    if event == cv2.cv.CV_EVENT_RBUTTONUP:

        clicked = True

    elif event == cv2.cv.CV_EVENT_LBUTTONUP:

        iscapture = True

        #print 'capture OK!!'


if len(sys.argv) <= 1:

    deviceid = 0

else:

    deviceid = int(sys.argv[1])

    

# termination criteria

criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)


cameraCapture = cv2.VideoCapture(deviceid)


# camera resolution setting

cameraCapture.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, 640)

cameraCapture.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 480)


cv2.namedWindow('KnVision Window')

cv2.setMouseCallback('KnVision Window', onMouse)


print 'Showing camera feed. Click window or press any key to stop.'

success, frame = cameraCapture.read()

print 'Capture Start!!'


while success and cv2.waitKey(1) == -1 and not clicked:

    if iscapture == True :

        tsec = time.time()

        tname = time.strftime("%Y-%m-%dT%Hh%Mm%Ss", time.gmtime(tsec))

        print 'capture tiem : ', tname

        fname = tname + ".jpg"

        cv2.imwrite(fname, frame)

        iscapture = False

    cv2.imshow('KnVision Window', frame)

    success, frame = cameraCapture.read()


    # Find the chess board corners

    ret, corners = cv2.findChessboardCorners(frame, (9,6),None)


    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

    #cv2.cornerSubPix(gray,corners,(11,11),(-1,-1),criteria)


    # Draw and display the corners

    cv2.drawChessboardCorners(frame, (9,6), corners,ret)


cv2.destroyWindow('KnVision Window')


이전에 만들었던 라이브 캡쳐 버젼과 합체하여

라이브 상에서 체스보드를 발견하면




이렇게 표시해준다.


체스보드 찾기 라이브 버젼~

'ComputerVision' 카테고리의 다른 글

라즈베리 파이에 OpenCV 설치하기 (3.0 기준)  (0) 2016.06.22
PyQt4 + OpenCV  (0) 2016.06.15
Camera Calibration (with Python OpenCV)  (0) 2015.08.19
Python에서 OpenCV 사용하기  (0) 2015.08.01
C# 에서 OpenCV 사용하기  (0) 2015.07.24
Posted by 휘프노스
,