如何将matplotlib路径对象转换为位图?

朱哈

我有一个matplotlib.path.Path对象。如何将其渲染为位图(或具有颜色值的数组)。

我需要使用后端/渲染器绘制对象,但是我该怎么做呢?

编辑:

matplotlib的大多数可绘制对象(标记,轴等)均为矢量格式。这些对象是Path的子类。我想将它们渲染为位图,换句话说,将其栅格化

示例:我绘制了一个圆形标记“ bo”。我需要做什么才能获得一个圆形标记的位图?我不能只画一个圆并将其涂成蓝色。我想从绘图中获取任何标记并获取其位图。只是具有正确颜色,形状和大小以及所有其他属性的一个标记。同样,图中也不应包含背景或前景或任何其他元素。这种情况类似于图例绘制其符号的方式。我怎么做?

朱哈

这是一个如何使它工作的技巧。基本上创建一个空的图形,并在画布的中央绘制路径。然后将画布作为字符串。然后以该图为中心。我会接受这一点,直到找到更好的解决方案。在下面的代码中X是包含栅格化符号的数组。下图显示了栅格化的符号。栅格化的符号

from matplotlib.backends.backend_agg import FigureCanvasAgg
from matplotlib.figure import Figure
import numpy
import pylab

# create figure and draw symbol with three points
fig = Figure(figsize=(5,4), dpi=600)
ax = fig.add_subplot(111)
ax.plot([0,1,2],[0,0,0], '-o', mec='b', mfc='g')

# get canvas, draw and get as string
canvas = FigureCanvasAgg(fig)
canvas.draw()
s = canvas.tostring_rgb()  

# convert to array
l,b,w,h = fig.bbox.bounds
w, h = int(w), int(h)
X = numpy.fromstring(s, numpy.uint8)
X.shape = h, w, 3

# plot only the center as bitmap
pylab.imshow(X[h/2-50:h/2+50, w/2-0:w/2+80,:])
pylab.show()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将Leptonica Pix对象转换为Android的位图

来自分类Dev

android,如何将位图转换为文件对象

来自分类Dev

如何将位图图像转换为mat图像

来自分类Dev

如何将位图图像转换为Emgu图像?

来自分类Dev

如何将位图转换为内存流?

来自分类Dev

Android:如何将位图数组转换为Int数组?

来自分类Dev

如何将图标(位图)转换为ImageSource?

来自分类Dev

如何将System.Byte []转换为位图?

来自分类Dev

Flutter-如何将SVG文件转换为位图

来自分类Dev

如何将劣质位图图像转换为矢量?

来自分类Dev

如何将Drawable转换为缩放的位图

来自分类Dev

如何将位图图像转换为Mat图像

来自分类Dev

裁剪后如何将图像转换为位图?

来自分类Dev

如何将VML路径转换为SVG路径?

来自分类Dev

如何将物理路径转换为虚拟路径

来自分类Dev

如何将数组转换为对象

来自分类Dev

如何将数组转换为对象?

来自分类Dev

如何将数组转换为对象?

来自分类Dev

将文件对象转换为位图

来自分类Dev

如何将包含对象的对象转换为对象数组

来自分类Dev

如何将svg字形转换为路径?

来自分类Dev

如何将路径数组转换为JSON结构?

来自分类Dev

如何将路径转换为FFI的const char *?

来自分类Dev

如何将SVG文本转换为SVG路径?

来自分类Dev

如何将XAML路径转换为按钮控件

来自分类Dev

PHP如何将Mac路径转换为Windows?

来自分类Dev

如何将小写文件路径转换为实际

来自分类Dev

如何将 wslpath /home/user/ 转换为 windows 路径

来自分类Dev

如何将 svg 代码转换为 svg 路径图像?