繁体   English   中英

确定旋转矩形的坐标

[英]Determine coordinates of rotated rectangle

我正在创建一个实用程序应用程序,它应该检测并报告图像中透明矩形(alpha = 0)的角的坐标。

到目前为止,我已经建立了一个使用Javascript + Canvas的系统,当我在图像中的透明矩形内部单击时,该系统显示图像并启动类似泛滥填充的操作。 它正确地确定了填充操作的边界框,因此可以为我提供正确的坐标。

这是我迄今为止的实现: http//www.scriptorama.nl/image/ (适用于最近的Firefox / Safari)。

但是,边界框方法会中断,然后旋转透明矩形(CW或CCW),因为生成的边界框不再正确表示正确的宽度和高度。 我试图想出几个替代方案来探测角落,但是还没有能够想出一个合适的解决方案。

那么,有没有人对我如何处理这个有任何建议,所以我可以正确检测旋转矩形的4个角的坐标?

我认为你可以通过对现有解决方案的简单扩展来做到这一点:沿着边界框的4个边缘走,寻找透明像素:

  • 在非旋转的情况下,沿着框的每个边缘的所有像素将是透明的。
  • 在旋转的情况下,必须有一个角接触盒子的每个边缘。 这将位于离边缘中间最远的透明像素处(由于混叠,可能存在多于一个,例如,如果矩形仅非常轻微地旋转)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM