java - OpenCV,安卓 : Draw Line on bitmap

标签 java android opencv bitmap

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

Current Image

![Result

最佳答案

对于绘制线条和文本你可以使用这样的代码:

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/

相关文章:

java - Jersey : com. sun.jersey.spi.inject.Errors$ErrorMessagesException

java - Spring MVC 中模板引擎处理输出

java - 'Blokus' 游戏的人工智能(1-4 人)

android - 无法从 Android 中的 SharedPreferences 访问字符串

android - 从 Facebook 登录手册复制的方法显示 "not applicable"错误

android - Opencv Android 的代码优化

iphone - HoughCircles 给出了错误的圈数和位置 - iOS

java - 在图像上绘制形状并在 java 中旋转它

android - 两个 Android 设备之间的 RFCOMM 连接?

c++ - 在opencv中裁剪旋转图像