python - 使用视觉 api 函数数据帧?
问题描述
我正在使用 google API 函数来提取表情,它会检测图像中的所有面孔
def detect_faces_uri(uri):
"""Detects faces in the file located in Google Cloud Storage or the web."""
from google.cloud import vision
client = vision.ImageAnnotatorClient()
image = vision.types.Image()
image.source.image_uri = uri
response = client.face_detection(image=image)
faces = response.face_annotations
# Names of likelihood from google.cloud.vision.enums
likelihood_name = ('UNKNOWN', 'VERY_UNLIKELY', 'UNLIKELY', 'POSSIBLE',
'LIKELY', 'VERY_LIKELY')
print('Faces:')
for face in faces:
print('anger: {}'.format(likelihood_name[face.anger_likelihood]))
print('joy: {}'.format(likelihood_name[face.joy_likelihood]))
print('surprise: {}'.format(likelihood_name[face.surprise_likelihood]))
vertices = (['({},{})'.format(vertex.x, vertex.y)
for vertex in face.bounding_poly.vertices])
print('face bounds: {}'.format(','.join(vertices)))
if response.error.message:
raise Exception(
'{}\nFor more info on error messages, check: '
'https://cloud.google.com/apis/design/errors'.format(
response.error.message))
这是我得到的输出:
Faces:
anger: VERY_UNLIKELY
joy: VERY_LIKELY
surprise: VERY_UNLIKELY
face bounds: (1077,157),(2146,157),(2146,1399),(1077,1399)
anger: VERY_UNLIKELY
joy: VERY_UNLIKELY
surprise: VERY_UNLIKELY
face bounds: (144,1273),(793,1273),(793,1844),(144,1844)
anger: VERY_UNLIKELY
joy: VERY_UNLIKELY
surprise: VERY_UNLIKELY
face bounds: (785,167),(1100,167),(1100,534),(785,534)
我需要对多张图像使用此功能并希望获得一个数据框,但我不确定如何以我想要的方式将其转换为数据框输出......我需要这样的输出:
所需的输出:
URL Face Anger Joy Surprised
abc.com Face1 Likely Unlikely Unlikely
abc.com Face2 Unlikely Likely Unlikely
.
. .
有什么帮助吗?
解决方案
首先启动一个新的空数据框:
df = pd.DataFrame()
然后在打印命令旁边添加一个新行:
newline= pd.DataFrame({"x":[vertex.x], "y":[vertex.y]})
然后将新行附加到df:
df = df.append(newline)
推荐阅读
- python - tensorflow 从 numpy opencv 奇怪的大小创建 TFrecord
- javascript - 根据父元素的类获取图像覆盖/类以显示 onclick
- angular - 发布请求未到达服务器端
- html - 创建自定义表格,如 Excel 工作表
- cakephp - cakephp分页中的自定义查找器方法
- android - 如何突出显示回收站视图项目的选定和未选定文本和图标?
- master-data-services - Master Data Business Rules Protecting Column from Edit / Change
- visual-studio-2015 - 工具下的 Visual Studio 运行栏未显示
- sql - 按 CASE 排序的 SQL Server Row_number
- phpstorm - 受保护的属性数组声明始终在换行符上,但我希望它在同一行