首页 文章

使用Raspberry Pi3的网络摄像头使用Google Cloud Vision检测对象

提问于
浏览
0

我想将USB网络摄像头与Raspberry Pi3集成,并将捕获的图像发送到Google Cloud Vision以检测对象 . 任何Python 3库都做同样的事情?

我已经成功集成了我的网络摄像头,并能够使用"Motion"通过URL流式传输视频

任何类似于Pi Camera的库或者可以让我从上面提到的Motion库向前移动 . 会有很大的帮助 .

1 回答

  • 0

    完成:)

    import pygame
    import pygame.camera
    import time
    import base64
    
    from googleapiclient import discovery
    from oauth2client.client import GoogleCredentials
    
    
    pygame.camera.init()
    pygame.camera.list_cameras()
    cam = pygame.camera.Camera("/dev/video0", (640, 480))
    cam.start()
    time.sleep(0.1)
    img = cam.get_image()
    if file:
        pygame.image.save(img, file)
    else:
        pygame.image.save(img, "img_captured.jpg")
    cam.stop()
    
    credentials = GoogleCredentials.get_application_default()
    service = discovery.build('vision', 'v1', credentials=credentials)
    
    with open('img_captured.jpg', 'rb') as image:
        image_content = base64.b64encode(image.read())
        service_request = service.images().annotate(body={
            'requests': [{
                'image': {
                    'content': image_content.decode('UTF-8')
                },
                'features': [{
                    'type': 'LOGO_DETECTION',
                    'maxResults': 1
                }]
            }]
        })
        response = service_request.execute()
    
        try:
            label = response['responses'][0]['logoAnnotations'][0]['description']
        except:
            label = "No response."
    
        print("Detected -->" + label)
    

相关问题