使用 OpenCV 将光栅图像转换为矢量图形?
Posted
技术标签:
【中文标题】使用 OpenCV 将光栅图像转换为矢量图形?【英文标题】:Convert raster images to vector graphics using OpenCV? 【发布时间】:2012-10-05 08:39:54 【问题描述】:我正在寻找一种使用 OpenCV 将光栅图像转换为矢量数据的可能性。在那里我发现了一个函数cv::findContours()
,它似乎有点原始(可能我没有完全理解):
它似乎只使用黑白图像(没有灰度和彩色图像),并且似乎不接受任何可能有助于噪声图像的过滤/错误抑制参数,以避免非常短的矢量线或避免不均匀多段线,其中一条直线会是更好的结果。
所以我的问题是:OpenCV 是否有可能对彩色光栅图像进行矢量化,然后将颜色信息分配给生成的 polylinbes?以及如何将降噪和错误抑制应用于这样的算法?
谢谢!
【问题讨论】:
你能告诉我们你想要矢量化的输入图像吗? 没有一个必须使用的输入图像,所有其他图像都相似。但要大致了解我的意思:想象一下 Strbcks-logo,它由两种颜色组成(加上一种用于白色背景),因此应根据颜色对生成的矢量数据进行排序. 【参考方案1】:如果您想按颜色对图像进行光栅化处理,我建议您在某些颜色组上对图像进行聚类(或对其进行量化),然后提取每种颜色的轮廓并转换为所需的格式。 OpenCV 中没有现成的矢量化方法。
【讨论】:
这似乎是一个先有鸡还是先有蛋的问题:哪些颜色与矢量化相关只能由矢量化过程本身评估(图像可能包含一些仅从一个相关颜色中褪色的颜色边缘到另一个,因此不会产生相关的矢量线)。无论如何,谢谢你的提示。以上是关于使用 OpenCV 将光栅图像转换为矢量图形?的主要内容,如果未能解决你的问题,请参考以下文章