我目前正在尝试编写一个python脚本(python 3),它可以在黑色边框上创建图像的反射。
首先,我正在使用这张图片:
我希望它的黑色边框(两个黑色三角形)被三角形和图像之间的分离线上的图像的部分反射所取代。谢谢你的时间!
答案 0 :(得分:1)
您可以通过对每条线上或靠近每条线的两个像素进行采样并求解斜率和截距来求解每条边界线的方程。
一旦你有了这些方程式,那么让(x0, y0)
成为你要反映的黑色像素之一(比如左上角),让我们说左边界的方程是{ {1}}(您从边界的两个像素中解析了y = m * x + b
和m
)。
然后你可以get the reflection point (xR, yR)
:
b
您可以将# using Python syntax for example
d = (x0 + (y0 - b) * m) / (1 + m ** 2)
xR = 2 * d - x0
yR = 2 * d * m - y0 + 2 * b
量化为最近的像素或其他内容。
您还可以尝试使用某种类型的边缘检测器自动检测边缘线,同时检查边缘一侧的所有内容是否为零像素,并且一旦自动执行获取边缘像素的任务,您就可以自动确定沿其任意两个坐标的反射线。