图像矢量化器

时间:2015-02-24 04:55:22

标签: image-processing vectorization object-recognition

我正在寻找一种库/工具/图像处理技术,它可以从图像中创建矢量(类似于文本矢量化,如TFIDF等)。有人可以分享一些想法吗?

1 个答案:

答案 0 :(得分:1)

我不确定您使用的是哪种编程语言。以下是我在 R

中使用的示例

这是如何使用 Pixmap 库将图像作为矩阵读取。

  

库(象素图)

     

下一个命令可能仅适用于Linux

     

system(“convert foo.tiff foo.ppm”)   img< - read.pnm(“foo.ppm”)

获取有关新对象的信息:

  

STR(IMG)

虽然包含在上一个输出中,但图像的大小可以通过以下方式提取:

  

IMG @大小

然后从图像中提取前十行的红色通道:

  

myextract< - img @ red [1:10,]

或者将整个红色通道提取到实际矩阵:

  

red.mat< - 矩阵(NA,IMG @尺寸[1],IMG @尺寸[2])   red.mat< -img @ red

请参阅:how to convert a JPEG to an image matrix in R

您也可以使用 Python-numpy

>>> arr = np.array(im)
>>> arr = np.arange(150).reshape(5, 10, 3)
>>> x, y, z = arr.shape
>>> indices = np.vstack(np.unravel_index(np.arange(x*y), (y, x))).T
#or indices = np.hstack((np.repeat(np.arange(y), x)[:,np.newaxis], np.tile(np.arange(x), y)[:,np.newaxis]))
>>> np.hstack((arr.reshape(x*y, z), indices))
array([[  0,   1,   2,   0,   0],
       [  3,   4,   5,   0,   1],
       [  6,   7,   8,   0,   2],
       [  9,  10,  11,   0,   3],
       [ 12,  13,  14,   0,   4],
       [ 15,  16,  17,   1,   0],
       [ 18,  19,  20,   1,   1],
       [ 21,  22,  23,   1,   2],
       [ 24,  25,  26,   1,   3],
       [ 27,  28,  29,   1,   4],
       [ 30,  31,  32,   2,   0],
       [ 33,  34,  35,   2,   1],
       [ 36,  37,  38,   2,   2],
       ...
       [129, 130, 131,   8,   3],
       [132, 133, 134,   8,   4],
       [135, 136, 137,   9,   0],
       [138, 139, 140,   9,   1],
       [141, 142, 143,   9,   2],
       [144, 145, 146,   9,   3],
       [147, 148, 149,   9,   4]])

其中arr = np.array(im)是我的形象