0

下午好!告诉我如何覆盖图像(ImageView),将图像固定在眼睛上?我想使用 Google Vision API 进行跟踪。也许有一个如何将帽子戴在头上的例子?

添加。(2016 年 7 月 12 日)

使用以下代码:

imageView.setX(mPosition.x);
imageView.setY(mPosition.y);
postInvalidate();

没有严格地锚定(蓝色方块)到眼睛,你可以在与照片不同距离的截图中看到它:

在此处输入图像描述

请告诉我为什么会这样?

4

1 回答 1

1

Google Mobile Vision API GitHub 示例中有一个示例,说明了如何根据眼睛的位置绘制眼球图形:https ://github.com/googlesamples/android-vision/tree/master/visionSamples/googly-eyes

为了覆盖图像而不是绘制图元(如示例那样),您可以将图像加载到位图中

InputStream inputStream = contentResolver.openInputStream(imageUri);
Bitmap mBitmap = BitmapFactory.decodeStream(inputStream, null, options); 

然后使用将其绘制到所需位置的画布上canvas.drawBitmap

canvas.drawBitmap(mBitmap, eyePosition.x, eyePosition.y, mPaint);

如果您与 ImageView 结婚,您可以将图像加载到其中,然后在跟踪器更新时直接更新该位置

imageView.setX(mPosition.x);
imageView.setY(mPosition.y);
postInvalidate();

确保这些 set 调用发生在创建视图的线程上,否则它们将引发异常。

于 2016-07-11T06:11:25.757 回答