android - 使用 ML 套件进行人脸检测后屏幕变黑
问题描述
上传图像功能正在工作,但是当启动检测时,检测到人脸,然后整个部分ImageView
变黑。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tempbitmap= Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),Bitmap.Config.RGB_56);
imageView = (ImageView)findViewById(R.id.imageView);
button = (Button) findViewById(R.id.button)
canvas = new Canvas(tempbitmap);
final Paint paint = new Paint();
paint.setStrokeWidth(5);
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FaceDetector faceDetector = new FaceDetector.Builder(getApplicationContext())
.setTrackingEnabled(false)
.setLandmarkType(FaceDetector.ALL_LANDMARKS)
.setMode(FaceDetector.FAST_MODE)
.build();
frame = new Frame.Builder().setBitmap(bitmap).build();
SparseArray<Face> sparseArray = faceDetector.detect(frame);
for (int i=0;i<sparseArray.size();i++)
{
Face face = sparseArray.valueAt(i);
float x = face.getPosition().x;
float y = face.getPosition().y;
float x1 = x + face.getWidth();
float y1 = y + face.getHeight();
RectF rectF = new RectF(x,y,x1,y1);
canvas.drawRoundRect(rectF,2,2,paint);
}
imageView.setImageBitmap(tempbitmap);
}
});
}
解决方案
推荐阅读
- python - 如何在脚本python3中递归地重命名子目录和文件名?
- javascript - 在 Internet Explorer 11 中获取未定义?
- wordpress - 该网站使用什么平台?
- python-3.x - 在不使用 Sklearn Pipeline 的情况下获得与 Sklearn Pipeline 相同的结果
- c# - C# 从读取 modbus 设备将字节解析为 2 的补码
- python - 我的文本不会在 pygame 中显示
- php - 使用助手发布输入
- java - 在android的MVP设计模式中,我们将业务登录放在哪里?
- javascript - 如何使用 JS 过滤器过滤重复值并获取最新的交易对象?
- php - 如何从 PHP 中的数组中删除重复/包含