【发布时间】:2014-02-03 15:16:47
【问题描述】:
我正在使用 OpenCV 相机预览。
我想在实时预览上绘制一个矩形。 我试图覆盖 ondraw 方法,但我看不到一条线。 请帮忙。
package com.example.easymeasure;
import org.opencv.android.JavaCameraView;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
public class CustomOpenCVJavaCameraView extends JavaCameraView {
public CustomOpenCVJavaCameraView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private Paint linePaint;
protected void init() {
Resources r = this.getResources();
linePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
linePaint.setAlpha(200);
linePaint.setStrokeWidth(1);
linePaint.setStyle(Paint.Style.STROKE);
linePaint.setColor(r.getColor(R.color.marker_color));
linePaint.setShadowLayer(2, 1, 1, r.getColor(R.color.shadow_color));
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
linePaint.setStrokeWidth(5);
canvas.drawLine(10,20,1000,200,linePaint);
}
}
【问题讨论】:
-
您可以直接在每个相机帧获得的垫子上绘图。您可以使用 Imageproc.rectangle()、line() 等在垫子的外边缘设置边框。
标签: android opencv camera overlay preview