OpenCV,Android:在位图上绘制线条

时间:2017-08-14 06:15:22

标签: java android opencv bitmap

我目前有一个应用程序,onClick将在电池和蓝色纸条周围绘制绿色边界矩形。我还希望按钮onClick从电池画一条线到纸条(如下面的第二张图所示)。目前我能够获得矩形的所有x和y值,因此知道我需要从534,1261788,1261绘制一条线并且标有x差异的线如图所示图片。

Current Image

![Result

1 个答案:

答案 0 :(得分:1)

对于绘制线条和文本您可以使用以下代码:

Point firstPoint = new Point(100, 200);
Point secondPoint = new Point(100, 400);
Point middlePoint = new Point(firstPoint.x,
        firstPoint.y + 0.5 * (secondPoint.y -  firstPoint.y));

Scalar lineColor = new Scalar(255, 0, 0, 255);
int lineWidth = 3;

Scalar textColor = new Scalar(255, 0, 0, 255);

Imgproc.line(sourceMat, firstPoint, secondPoint, lineColor, lineWidth);
Imgproc.putText(sourceMat, " Text" , middlePoint,
        Core.FONT_HERSHEY_PLAIN, 1.5 , textColor);

带有图片的sourceMat - Mat

以厘米(约)为单位确定线“高度”你应该使用电池矩形的“高度”:

lineHeightCm = 4.46 / heightOfBatteryRectangleInPixels * lineHeightInPixels;

其中4.46 - AAA电池的“高度”,单位为厘米。