gpt4 book ai didi

java - 如何在android中将透视变换应用于ImageProxy或Bitmap

转载 作者:行者123 更新时间:2023-12-05 06:13:43 25 4
gpt4 key购买 nike

我的目标是从头开始创建一个扫描仪应用程序。为此,我在 java 中使用 android 中的 CameraX 库。假设我已经检测到页面的角点。抓取图像后,如何对图像进行变换矩阵乘法? (我遵循提到的算法 here 除了尝试在 java 中执行)我需要矩阵中的图像,以便我可以将每个像素位置 [i, j, 1] 与我的 3x3 变换矩阵相乘以获得新的位置。然后,我会有另一个矩阵,如果它在我想要显示的区域内,我会记录被转换的像素的颜色。最后,我会将最终矩阵转换为图像。

基本上,我的问题是:

  1. 如何在 java 中对捕获的图像执行操作
  2. 如何将图像转换为矩阵(以执行上述操作)然后将矩阵转换回图像

我想要它,以便当用户单击捕获按钮时,记录文档角的最新坐标并用于使用转换矩阵转换捕获的图像。

最佳答案

android.graphics.Matrix 是Android中的3x3透视变换矩阵。示例:

val matrix = Matrix()
matrix.setPolyToPoly(docVertexes, 0, bitmapVertexes, 0, 4)
Bitmap transformedBitmap = Bitmap.createBitmap(
sourceBitmap,
0,
0,
sourceBitmap.getWidth(),
sourceBitmap.getHeight(),
quadToRect,
true);

关于java - 如何在android中将透视变换应用于ImageProxy或Bitmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63173146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com