Example #1
0
 def search_stones_LaB(self,image,th):
     stones = []
     false_stones = 0
     circles = search_stones(image, None)
     lab_img = cv.CreateImage(cv.GetSize(image), 8, 3)
     cv.CvtColor(image, lab_img, cv.CV_BGR2Lab)
     for n in range(circles.cols):
         pixel = cv.Get1D(circles, n)
         pt = (cv.Round(pixel[0]), cv.Round(pixel[1]))
         radious = cv.Round(pixel[2])
         color = check_color_stone_LaB(pt, radious, lab_img)
         position = Move.pixel_to_position(image.width, pixel)
         if color == BLACK:
             # print "BLACK"
             cv.Circle(image, pt, radious, cv.CV_RGB(255, 0, 0), 2)
             stones.append(Move(color, position))
         elif color == WHITE:
             # print "WHITE"
             cv.Circle(image, pt, radious, cv.CV_RGB(0, 255, 0), 2)
             stones.append(Move(color, position))
         else:
             false_stones += 1
     return image, stones
Example #2
0
 def search_stones_LaB(self,image,th):
     stones = []
     false_stones = 0
     circles = search_stones(image)
     lab_img = np.zeros(image.shape[:2], np.uint8)
     lab_img = cvtColor(image, COLOR_BGR2Lab)
     for n in range(circles.cols):
         pixel = Get1D(circles, n)
         pt = (Round(pixel[0]), Round(pixel[1]))
         radious = Round(pixel[2])
         color = check_color_stone_LaB(pt, radious, lab_img)
         position = Move.pixel_to_position(image.width, pixel)
         if color == BLACK:
             # print("BLACK")
             circle(image, pt, radious, (255, 0, 0), 2)
             stones.append(Move(color, position))
         elif color == WHITE:
             # print("WHITE")
             circle(image, pt, radious, (0, 255, 0), 2)
             stones.append(Move(color, position))
         else:
             false_stones += 1
     return image, stones