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

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

本文介绍利用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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。