当前位置: 首页>>代码示例>>Python>>正文


Python Record.add_frame方法代码示例

本文整理汇总了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
开发者ID:Virako,项目名称:Rocamgo,代码行数:96,代码来源:rocamgo.py


注:本文中的record.Record.add_frame方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。