我目前有一个应用程序,onClick
将围绕电池和蓝色纸条绘制一个绿色边界矩形。我还想让按钮 onClick
从电池到纸条画一条线(如下面第二张图所示)。目前我能够获得矩形的所有 x 和 y 值,因此知道我需要从 534,1261
到 788,1261
画一条线并且有标有 x 差异的线,如图所示。
最佳答案
对于绘制线条和文本你可以使用这样的代码:
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
with image.
为了确定以厘米为单位的线“高度”(大约),您应该使用电池矩形的“高度”:
lineHeightCm = 4.46 / heightOfBatteryRectangleInPixels * lineHeightInPixels;
其中 4.46 - AAA 电池的“高度”(以厘米为单位)。
关于java - OpenCV,安卓 : Draw Line on bitmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45668430/