我有很多与图像相关的路径,用paper.js应用程序绘制,它产生一个格式为的json对象:
[[[x,y], [handle1_x, handle1_y], [handle2_x, handle2_y]], ...].
因此,对于多边形上的每个点("路径"),我得到了x,y和控制曲率的手柄概念(" bezier")。
如何在python中将这些路径转换为轮廓以在图像上绘制这些路径(以获取遮罩)?
答案 0 :(得分:2)
OpenCV 中的轮廓是一个点数组std::vector<cv::Point>
。
所以我想最简单的方法是在你的json文件中输出曲线的所有点的列表,(使用 Paper.js path.getPointAt()
- 从0到偏移到“获取曲线的所有点/像素,然后在 OpenCV 中创建std::vector<cv::Point>
。
这会创建更大的json文件(曲线像素列表将大于曲线点和手柄列表),除非你真的有大量的数据它不应该是一个问题。如果这是一个问题,你也可以使用像OpenCV-Beziers这样的东西(我从来没用过它)来计算OpenCV方面的点列表。