gpt4 book ai didi

java - 将图像旋转回其原始状态

转载 作者:行者123 更新时间:2023-11-30 04:48:24 27 4
gpt4 key购买 nike

我有一个程序,需要拍摄一张由 iPhone(或任何像样的相机)拍摄的 7x10 网格照片,边缘周围有厚厚的黑色边框。该图像可以向右或向左旋转接收(无需担心倾斜)。我已经有了原始状态的网格图像,但我需要获取正在拍摄的图片并将其旋转到“完美/原始”状态。

想法 1:性能消耗/糟糕的结果

对我收到的图片和我已有的完美网格图像进行阈值处理。比较每个像素进行 0 次旋转,得到总分并保存。执行此操作时,将图像旋转增量 1 到 359。最低分数是我们将图片恢复到原始状态所需的旋转。

想法 2:仍然不确定如何去做

对我收到的图片和我已有的完美网格图像进行阈值处理。垂直和水平穿过图片中心画一条线。根据垂直线和水平线经过的黑色像素数求旋转。这需要某种我不太理解的三角函数。

有人有任何其他想法可以让这个工作吗?

任何帮助我指明正确方向的帮助将不胜感激!

谢谢!

最佳答案

不要绘制一条水平线和一条垂直线,而是绘制两条水平线(例如,每条水平线位于图片的三分之一处)。仅查看这些线的左半部分,并计算每条线的路径上有多少个黑色像素(a1a2)。您还必须跟踪两条红线之间的距离,即像素数 d

Diagram of the problem, as I understand it

使用上图中的这种符号,您想要的角度是:

alpha=atan2((a2-a1),d)

逆时针旋转alpha将使图片的白色部分正确对齐。

关于java - 将图像旋转回其原始状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10393693/

27 4 0