Python使用OpenCV与Matplotlib将图片转换为矢量SVG图

Leo
Leo
发布时间:2026-10-14 | 4人浏览过
原创

本文介绍利用Python将位图转换为矢量图的方法。通过OpenCV读取图像,按像素颜色分类并提取坐标,使用Matplotlib绘制散点图并保存为SVG矢量格式。代码示例展示了如何处理颜色分类及保存过程,适用于简单图像向矢量图的转换场景。

Python图片转矢量图实现原理

本文主要介绍了利用Python将图片转换为矢量图的实现方法,供读者参考。

核心代码实现与解析


import numpy as np
import matplotlib.pyplot as plt
import cv2
fig, ax = plt.subplots()

plt.figure(1)
image=cv2.imread("2.jpg")
# you can specify the marker size two ways directly:
# 这样一个一个像素太慢了故而要将同样颜色的坐标进行分类处理
color_class=[]
x_y=dict()
for x,w in enumerate(image):
  for y,colors in enumerate(w):
    if colors.tolist() not in color_class:
      s=image[:, :, :1] == colors[0]
      s1=image[:, :, 1:2] == colors[1]
      s2=image[:, :, 2:3] == colors[2]
      ss=s*s1*s2

      color_class.append(colors.tolist())
      x_y[len(color_class)]=np.where(ss.reshape((ss.shape[0],ss.shape[1])))



    print(x,y)
for i ,colors in enumerate(color_class):
  a, b = x_y[i + 1]
  plt.plot(a,b, ".",color=[colors[2]/255,colors[1]/255,colors[0]/255], markersize=1, label='a') # blue circle with size 20

fig.savefig('scatter.svg', dpi=200, format='svg')
if __name__ == '__main__':
  pass

总结与扩展

以上就是Python将图片转为矢量图的完整步骤。如需了解更多相关技术细节,建议查阅本站往期文章或持续关注后续更新,感谢大家的支持。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表