带有树莓Pi3的网络摄像头使用googlecloudvision检测物体

2024-06-02 02:43:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把USB网络摄像头和Raspberry Pi3集成在一起,并将捕捉到的图像发送到Google Cloud Vision来检测物体。有没有python3库可以做同样的事情?

我已经成功地集成了我的网络摄像机,并且能够使用"Motion"在URL上传输视频

任何类似于Pi相机的库或者可以让我从上面提到的运动库向前移动。会有很大的帮助。在


Tags: 图像网络cloudurlgoogle事情raspberrypython3
1条回答
网友
1楼 · 发布于 2024-06-02 02:43:42

完成:)

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)

相关问题 更多 >