Ejemplo n.º 1
0
	def find_BIH (self, empty_board_frame):
		"""
			PRIVATE: find_BIH
			-----------------
			given a frame containing the empty board, this function 
			finds the homography relating board coordinates to 
			image coordinates. (sets self.BIH)
		"""
		assert self.corner_classifier 
		self.BIH = CVAnalysis.find_board_image_homography (empty_board_frame, self.corner_classifier)
Ejemplo n.º 2
0
    def find_BIH(self, empty_board_frame):
        """
			PRIVATE: find_BIH
			-----------------
			given a frame containing the empty board, this function 
			finds the homography relating board coordinates to 
			image coordinates. (sets self.BIH)
		"""
        assert self.corner_classifier
        self.BIH = CVAnalysis.find_board_image_homography(
            empty_board_frame, self.corner_classifier)
Ejemplo n.º 3
0
import pickle
import numpy as np 
import cv2
import CVAnalysis

if __name__ == "__main__":

	#=====[ Step 1: switch to directory	]=====
	os.chdir ('../data/toy_images')

	filenames = [	
					'random1.jpg',
					'random2.jpg',
					'random3.jpg',
					'random4.jpg',
					'random5.jpg',
					'random6.jpg',
					'random7.jpg',
	]

	images = [cv2.imread (f) for f in filenames]

	sift_desc = []
	for image in images:
		hc = CVAnalysis.get_harris_corners (image)
		desc = CVAnalysis.get_sift_descriptors (image, hc)
		sift_desc.append (desc)

	features = np.concatenate (sift_desc, 0)

	
Ejemplo n.º 4
0
            points_grid[line_index].append(corner)

    #=====[ Step 3: sort each one by y coordinate	]=====
    for i in range(len(points_grid)):
        points_grid[i].sort(key=lambda x: x[0])

    return points_grid


if __name__ == '__main__':

    #=====[ Step 1: read in image ]=====
    image = cv2.imread('../data/p2/1.jpg')

    #=====[ Step 2: get harris corners	]=====
    hc = CVAnalysis.get_harris_corners(image)

    #=====[ Step 3: classify them	]=====
    sd = CVAnalysis.get_sift_descriptors(image, hc)
    clf = pickle.load(open('../data/classifiers/corner_classifier.clf', 'r'))
    predictions = clf.predict(sd)
    idx = (predictions == 1)
    corners = [c for c, i in zip(hc, idx) if i]
    corners = avg_close_points(corners)

    #=====[ Step 3: get black image, fill in corners	]=====
    corners_img = np.zeros(image.shape[:2], dtype=np.uint8)
    for corner in corners:
        corners_img[int(corner[1])][int(corner[0])] = 255

    #=====[ Step 4: apply hough transform to get lines	]=====
Ejemplo n.º 5
0
    #==========[ Step 1: sanitize input 	]==========
    if not len(sys.argv) == 2:
        filename = '../data/micahboard/1.jpg'
    else:
        filename = sys.argv[1]
    image_name = os.path.split(filename)[1]
    if not os.path.isfile(filename):
        raise StandardError("Couldn't find the file you passed in: " +
                            image_name)

    #==========[ Step 2: get/convert image	]==========
    image = cv2.imread(filename)
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    #==========[ Step 3: get corners	]==========
    harris_corners = CVAnalysis.get_harris_corners(image)
    disp_image = cv2.drawKeypoints(image, harris_corners, color=(0, 0, 255))

    #==========[ Step 4: draw image	]==========
    cv2.namedWindow('DISPLAY')
    cv.SetMouseCallback('DISPLAY', on_mouse, param=harris_corners)

    #==========[ Step 4: have user mark keypoints ]==========
    while True:

        disp_image = cv2.drawKeypoints(image,
                                       harris_corners,
                                       color=(0, 0, 255))
        disp_image = cv2.drawKeypoints(disp_image,
                                       corner_keypoints,
                                       color=(255, 0, 0))
Ejemplo n.º 6
0
	if not len(sys.argv) == 2:
		filename = '../data/micahboard/1.jpg'
	else:
		filename 	= sys.argv[1]
	image_name 	= os.path.split (filename)[1]
	if not os.path.isfile (filename):
		raise StandardError ("Couldn't find the file you passed in: " + image_name)


	#==========[ Step 2: get/convert image	]==========
	image = cv2.imread(filename)
	gray = cv2.cvtColor (image, cv2.COLOR_BGR2GRAY)


	#==========[ Step 3: get corners	]==========
	harris_corners = CVAnalysis.get_harris_corners (image)
	disp_image = cv2.drawKeypoints (image, harris_corners, color=(0, 0, 255))


	#==========[ Step 4: draw image	]==========
	cv2.namedWindow ('DISPLAY')
	cv.SetMouseCallback ('DISPLAY', on_mouse, param=harris_corners)


	#==========[ Step 4: have user mark keypoints ]==========
	while True:

		disp_image = cv2.drawKeypoints (image, harris_corners, color=(0, 0, 255))
		disp_image = cv2.drawKeypoints (disp_image, corner_keypoints, color=(255, 0, 0))

		cv2.imshow ('DISPLAY', disp_image)