本文整理汇总了Python中record.Record.add_frame方法的典型用法代码示例。如果您正苦于以下问题:Python Record.add_frame方法的具体用法?Python Record.add_frame怎么用?Python Record.add_frame使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类record.Record
的用法示例。
在下文中一共展示了Record.add_frame方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from record import Record [as 别名]
# 或者: from record.Record import add_frame [as 别名]
def main(parser):
print "Camer, video, record"
print parser.camera
print parser.video
print parser.record
if parser.camera:
cam = Cameras()
cams_found = cam.check_cameras(int(parser.camera))
camera = cam.show_and_select_camera()
# TODO
threshold = 190
elif parser.video:
camera = CaptureFromFile(parser.video)
threshold = 150
if parser.record:
record = Record(parser.record, QueryFrame(camera))
prev_corners = None
current_corners = None
good_corners = None
ideal_img = None
goban = Goban(GOBAN_SIZE)
while camera:
# Select image from camera
# TODO
# img = camera.get_frame()
img = QueryFrame(camera) # Test videos
if parser.record:
record.add_frame(img)
# previous corners
prev_corners = copy(current_corners)
# Detect goban
current_corners = search_goban(img)
if not current_corners:
current_corners = copy(prev_corners)
# Check goban moved
if check_goban_moved(prev_corners, current_corners):
good_corners = copy(current_corners)
# print "MOVED"
if good_corners:
# Paint corners for tested
for corner in good_corners:
Circle(img, corner, 4, (255, 0, 0), 4, 8, 0)
# Transform goban to ideal form
ideal_img = perspective(img, good_corners) # TODO no hallar 2 veces
if ideal_img:
circles = search_stones(ideal_img, good_corners)
false_stones = 0
stones = []
for n in range(circles.cols):
pixel = Get1D(circles, n)
pt = (Round(pixel[0]), Round(pixel[1]))
radious = Round(pixel[2])
# Comprobar el color en la imagen
color = check_color_stone(pt, radious, ideal_img, threshold)
if color == BLACK:
# print "BLACK"
Circle(ideal_img, pt, radious, CV_RGB(255, 0, 0), 2)
stones.append(Stone(color, img=ideal_img, pix=pt))
elif color == WHITE:
# print "WHITE"
Circle(ideal_img, pt, radious, CV_RGB(0, 255, 0), 2)
stones.append(Stone(color, img=ideal_img, pix=pt))
else:
# Circle(ideal_img, pt, radious, CV_RGB(255,255,0),2)
false_stones += 1
# print "Hay %d piedras. " %(circles.cols - false_stones)
# Añadimos las piedras para trabajar con ellas estadísticamente
goban.add_stones_to_statistical(stones)
ShowImage("Ideal", ideal_img)
# Show image
ShowImage("Camera", img)
# Detect stone
# Upload to internet
# FPS
key = WaitKey(1)
if key == 27: # Esc
goban.kifu.end_file()
goban.igs.close()
break