Jon*_*ant 5 url google-api google-plus
Google 用户的个人资料图片默认为 
https://yt3.ggpht.com/-_fExgATRXLY/AAAAAAAAAAI/AAAAAAAAAAA/-fmo8LhN7Pg/s240-c-k-no-rj-c0xffffff/photo.jpg
我想检查用户是否根据图片的 URL 将他们的图片更新为默认值以外的内容。那可能吗?有没有其他方法可以检查?
编辑:已设置的谷歌个人资料图片的 URL 是这样的:
https://yt3.ggpht.com/-zSpYe-dpPNk/AAAAAAAAAAI/AAAAAAAAAAA/EVfQSDPEeQc/s240-c-k-no-rj-c0xffffff/photo.jpg
使用 Google API 的解决方案 在 Google 响应中,它提供了一个字段 isDefault,如果用户上传了他/她的图片,则该字段设置为 false。您可以查看文档并尝试此处的示例 api 。
您只需添加 userId asme并将字段值设置为image即可尝试该示例。返回的样本值是:-
{
"image": {
"url": "https://lh3.googleusercontent.com/-cXXaVVq8nMM/AAAAAAAAAAI/AAAAAAAAAKI/_Y1WfBiSnRI/photo.jpg?sz=50",
"isDefault": false
}
}
Run Code Online (Sandbox Code Playgroud)
使用图像处理的解决方案
作为一名图像处理工程师,这是另一种解决方案。在示例 Google 默认图像和下载的图像之间计算简单的相似性/差异度量可以轻松解决此问题。我发现谷歌在过去的一年里改变了默认图片。尽管图像看起来相同,但像素并不完美匹配。因此,归一化误差应接近于零,但可能并不总是为零。
使用 ImageMagick
Imagemagick 是一个 bash 命令图像处理实用程序(还有更多...)。人们可以使用以下命令快速检查图像是否是默认图像:-
均方根误差(越小越好):
$> compare -metric RMSE defaultProfilePic1.jpg defaultProfilePic2.jpg NULL:
$> 242.453 (0.0036996)
Run Code Online (Sandbox Code Playgroud)
在上面的命令中,NULL表示将输出定向到控制台。括号中的输出是标准化误差,正如您所看到的,它接近于 0。0.01-0.03 的阈值应该足以开始。
归一化互相关(越接近1越好):
反之亦然,可以使用相似性度量来查看标准化输出是否足够接近 1。
$> compare defaultProfilePic1.jpg defaultProfilePic2.jpg -metric NCC NULL:
$> 0.998602
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息,请参见此处。
以下是使用 Google Api 下载的示例图像。
| 归档时间: |
|
| 查看次数: |
16036 次 |
| 最近记录: |