Python:黑色边框中的反射图像
我目前正在尝试编写一个python脚本(Python3),它可以在黑色边框上创建图像的反射 首先,我使用以下图片:Python:黑色边框中的反射图像,python,python-3.x,python-2.7,image-processing,Python,Python 3.x,Python 2.7,Image Processing,我目前正在尝试编写一个python脚本(Python3),它可以在黑色边框上创建图像的反射 首先,我使用以下图片: 我希望它的黑色边框(两个黑色三角形)替换为三角形和图像之间分隔线上图像的部分反射。谢谢你抽出时间 通过在每条线上或靠近每条线的位置采样两个像素,并求解斜率和截距,可以求解每条边界线的方程 一旦你有了这些方程,那么让(x0,y0)成为你想要反射的黑色像素之一(比如在左上角),让我们假设左边界的方程是y=m*x+b(在这里你从沿边界的两个像素解出m和b) 然后你可以: 您可以将(xR
我希望它的黑色边框(两个黑色三角形)替换为三角形和图像之间分隔线上图像的部分反射。谢谢你抽出时间 通过在每条线上或靠近每条线的位置采样两个像素,并求解斜率和截距,可以求解每条边界线的方程 一旦你有了这些方程,那么让
(x0,y0)
成为你想要反射的黑色像素之一(比如在左上角),让我们假设左边界的方程是y=m*x+b
(在这里你从沿边界的两个像素解出m
和b
)
然后你可以:
您可以将(xR,yR)
量化到最接近的像素或其他位置
您还可以尝试使用某种类型的边缘检测器自动检测边缘线,同时检查边缘一侧的所有内容是否为零像素,一旦您自动完成获取边缘像素的任务,您可以从沿反射线的任意两个坐标自动确定反射线。您希望它水平反射还是沿边的轴反射?一个比另一个难多了。是您自己旋转图像,还是您需要处理已经有此边框的图像?@MarkRansom我希望它沿边缘轴反射。@CrisLuengo我自己旋转图像,以便将其用作示例。我想在有相似边界的图像上使用它,可能更小,但形状相似,太糟糕了。我希望你只想把它用于你自己旋转的图像。我建议您在旋转之前通过镜像来扩展图像(这是一件很容易实现的事情)。回答得很好!考虑到自然图像中RGB值恰好为[0,0,0]的像素非常少,发现边界线应该很简单。
# using Python syntax for example
d = (x0 + (y0 - b) * m) / (1 + m ** 2)
xR = 2 * d - x0
yR = 2 * d * m - y0 + 2 * b