图像矢量化 – 将 BMP 转换为 SVG

矢量化涉及用数学曲线和几何形状替换位图,然后将其保存为 SVG 文件。 Aspose.SVG for Python via .NET API 为各种 SVG 解析任务提供高速 Python 库。在这里,我们将向您展示如何使用 Aspose.SVG Python 库在 Python 中将 BMP 转换为 SVG 矢量图形。另一方面,在线图像矢量化器允许您实时矢量化图像,提供快速和高质量的转换。立即尝试图像矢量化器!


在线图像矢量化器

准备好将您的像素艺术转换为清晰的矢量图形了吗?图像矢量化器使用几何形状、贝塞尔曲线、样条曲线、路径和直线将光栅图像转换为矢量图形。矢量化后,所有元素都保存在 SVG 文件中。 Image Vectorizer 支持多种位图格式,包括 JPEG、PNG、BMP、ICO、GIF 和 TIFF。使用链接到矢量化选项的交互式控件轻松操作矢量化 SVG 图像。立即将您的图像转换为可扩展、清晰的矢量艺术!




如何在Python中矢量化BMP

Aspose.SVG for Python via .NET API 提供了类和方法,允许您实现矢量化图像的过程,并在将图像保存为矢量格式之前使用各种选项来预处理图像。您可以控制以下矢量化参数:trace_smoothererror_thresholdmax_iterationspath_builderstencil 等。要了解如何执行此操作,请参阅 Vectorize PNG 页面等。

在以下代码示例中,我们使用默认矢量化选项将图像转换为矢量。


在 Python 中将 BMP 转换为 SVG

import os
from aspose.svg import *
from aspose.svg.imagevectorization import *

# Configuration for image vectorization
path_builder = BezierPathBuilder()

vectorizer = ImageVectorizer()
vectorizer.configuration.path_builder = path_builder

# Vectorize an image
src_file = "input.bmp"  # Specify the input BMP file
output_file = "output.svg"  # Specify the output SVG file

with vectorizer.vectorize(src_file) as document:
    document.save(output_file)


使用默认矢量化选项将 BMP 转换为 SVG 的步骤

要使用 Aspose.SVG Python 库对 BMP 进行矢量化,您应该遵循以下几个步骤:

  1. aspose.svgaspose.svg.imagevectorization 包中导入必要的模块和类。
  2. 创建 BezierPathBuilder 类的实例来定义路径构建策略。
  3. 创建 ImageVectorizer 的实例并将其配置设置为使用 BezierPathBuilder
  4. 从指定文件中矢量化 BMP。使用 vectorize() 方法对源BMP文件进行矢量化。
  5. 使用生成的SVGDocument上的 save() 方法将矢量化 BMP 图像保存为 SVG 文件。

矢量化选项

您可以应用自定义设置以获得图像矢量化的最佳结果。以下是您可以控制的一些主要设置及其默认值。请参阅 Vectorize PNG 页面,了解使用自定义参数进行图像矢量化的 Python 示例。

  1. tolerance – 确定从轨迹中消除点所允许的最大误差容限。它必须介于 0 和 4 之间。默认值为 0.3。
  2. error_threshold – 定义点与拟合曲线的最大偏差。默认为 30。
  3. max_iterations – 定义最小二乘近似法的迭代次数。默认为 30。
  4. background_color – 默认值为透明白色。
  5. colors_limit – 设置用于量化图像的最大颜色数。默认值为 25。
  6. line_width – 设置线宽。该参数的值受图形比例的影响。默认值为 1。
  7. image_size_limit – 由图像宽度和高度相乘确定的图像最大尺寸。图像的大小将根据此属性进行缩放。默认值为 1800000。

图像矢量化是将光栅图像转换为矢量图形(例如贝塞尔曲线、路径和直线)的过程。在文档章节 矢量化 – 基本概述 中,您将找到有关图像矢量化的详细信息,包括过程和可用选项的描述。了解如何将 PNG、JPG、BMP、TIFF、GIF 和 ICO 等光栅图像矢量化为 SVG 文档。本章还包括几个示例,演示 Aspose.Svg.ImageVectorization 命名空间的功能以及配置属性对结果的影响。

Aspose.SVG 提供免费的在线 图像矢量化器 ,允许您将 JPG、PNG、BMP、TIFF、ICO 和 GIF 位图图像转换为矢量图形。通过此应用程序,您可以应用各种选项来获得完美的结果。立即尝试此图像矢量化器,节省时间并体验矢量图形的好处!


常问问题

1. 如何矢量化 BMP?

Aspose.SVG 允许您以任何方式将 BMP 转换为 SVG - 在线或以编程方式。例如,您可以使用在线 Image Vectorizer 实时对 BMP 进行矢量化,它可以快速且高质量地转换您的图像。另一方面,您可以使用 Aspose.SVG for .NET API 以编程方式对 BMP 进行矢量化。

2. 图像矢量化有什么用?

矢量图像对于任何使用绘图、图形或草图的专业人士来说都是必不可少的。许多设计师、印刷商、建筑师和艺术家经常选择使用草图或绘图作为矢量图。他们有充分的理由!与位图图形不同,矢量图可以调整大小和可扩展性而不会损失任何质量,并且它们仍然可以清晰地显示。此外,矢量化可用于更新或恢复图像。
矢量图像是您制作横幅、徽标、地图、标志、刺绣、雕刻、图表、蓝图等所需的。

3. 什么是光栅到矢量的转换?

图像从光栅到矢量的转换过程称为图像矢量化。这是一个复杂的计算过程,它将由像素组成的位图图像转换为由线条、曲线和其他几何形状组成的矢量图像。

4. 矢量化是如何发生的?

矢量化过程使用彩色图像量化 - 一种减少图像中使用的不同颜色数量的技术,旨在使新图像在视觉上尽可能与原始图像相似。 然后,矢量化器使用一组轮廓追踪算法将所有相同颜色的点或像素替换为几何形状或曲线。 最后一步是将跟踪点转换为 SVG 路径线和贝塞尔曲线,并将它们添加到 SVG 文档中。



Python API 入门

如果您想开发可扩展矢量图形及其应用程序,请安装我们灵活、高速的 Aspose.SVG for Python via .NET API。 pip 是下载和安装 Aspose.SVG for Python via .NET API 的最简单方法。为此,请运行以下命令:

pip install aspose-svg-net

有关Python库安装和系统要求的更多详细信息,请参阅 Aspose.SVG文档

其他支持的图像矢量化器

JPG to SVG (JPEG Image)
PNG to SVG (Portable Network Graphics)
Image to SVG (Raster Image)
BMP to SVG (Microsoft Windows Bitmap)
Image Stencil (Stencil Maker)