带有 Raspberry Pi3 的网络摄像头使用 Google Cloud Vision 检测物体
Web Camera with Raspberry Pi3 to detect objects using Google Cloud Vision
我想将USB Web Camera 与Raspberry Pi3 集成,并将捕获的图像发送到Google Cloud Vision 以检测物体。任何 Python 3 库做同样的事情?
我已成功集成我的网络摄像头并能够使用 "Motion" 在 URL 上流式传输视频
任何类似于 Pi Camera 或者可以让我从上面提到的 Motion 库前进的库。会有很大帮助。
完成:)
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)
我想将USB Web Camera 与Raspberry Pi3 集成,并将捕获的图像发送到Google Cloud Vision 以检测物体。任何 Python 3 库做同样的事情?
我已成功集成我的网络摄像头并能够使用 "Motion" 在 URL 上流式传输视频
任何类似于 Pi Camera 或者可以让我从上面提到的 Motion 库前进的库。会有很大帮助。
完成:)
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)