我对python比较陌生。我想做一些弦乐艺术照。我正在观看这部影片,这真的很吸引我:
https://youtu.be/RSRNZaq30W0?t=56
我知道要实现这一点,我首先需要加载图像,然后进行一些边缘检测,然后使用某种形式的Delaunay三角剖分,但不知道从哪里开始。
我查看了一些OpenCV的示例代码,并弄清楚了如何进行基本的边缘检测。然后如何将其转换为点?然后我需要哪种算法来“填充”不同的梯度?
我什至不知道这是否是实现此目标的正确方法。有人可以指出正确的方向,或者给我一些示例代码以开始使用吗?我真的非常感谢。
答案 0 :(得分:0)
在此应用中,边缘检测或三角测量不太重要。核心部分是了解视频的1:27伪代码。最终产品使用一根细绳以特殊的方式缠绕在不同的指甲上,因此:原始图像中较暗的区域具有较低的细绳密度,而较亮的区域具有更多的交叉导线。
最初的准备工作是:
然后第一步是为指甲创建随机位置。显然,要获得良好的效果,如果随机生成的钉子足够接近黑白图像的“边缘”,则应将其“捕捉”到边缘,以便稍后缠绕在这些边缘钉子上的字符串会产生就像原始图片一样精确的边界。在这里,您使用图像A)来调整指甲。例如,只需执行一些潜在的最小化操作即可:
在指甲上添加一些小的随机位置变化。如果现在钉了 足够接近图像A)中的白点(边缘),直接更改为 那个位置。
计算电势。确保您的潜在功能 惩罚过于接近的两点。重复1)100次 选择潜力最低的一个。
迭代1)和2)20次
接下来,您决定要如何将线缠绕在指甲上。
在某些情况下,照片中的明亮区域会被广泛分开,因此任何穿过暗间隙的白色字符串只会降低得分。使用您的判断来调整算法,以解决那些非凸的情况。