相关疑难解决方法(0)

Matplotlib:将绘图保存为numpy数组

在Python和Matplotlib中,很容易将绘图显示为弹出窗口或将绘图保存为PNG文件.我怎样才能将绘图保存为RGB格式的numpy数组?

python numpy matplotlib

31
推荐指数
6
解决办法
3万
查看次数

用于直接在 2D numpy 数组图像缓冲区上绘制图的快速 Python 绘图库?

我经常使用 opencv 绘图函数直接在来自 opencv 网络摄像头流的 2D numpy 数组图像缓冲区上绘制 2D 图。而且,我将 numpy 数组发送给 imshow 和视频编写器以监视和创建视频。

import cv2
import numpy as np

cap = cv2.VideoCapture(0)
ret, frame = cap.read()  # frame is a 2D numpy array w640 h480
h,w,_ = frame.shape # (480,640,3)
x = np.arange(w)

writer = cv2.VideoWriter( 'out.avi', cv2.cv.FOURCC('D','I','V','3'),
            fps=30, frameSize=(w,h), isColor=True )

while True:
    ret, frame = cap.read()  # frame is a 2D numpy array w640 h480

    B = frame[:,:,0].sum(axis=0)
    B = h - h * B / B.max() …
Run Code Online (Sandbox Code Playgroud)

python opencv numpy matplotlib

8
推荐指数
1
解决办法
7573
查看次数

从 numpy 数组中绘制一条线

我一直在四处寻找,但我还没有找到解决方案,所以我会在这里问。我有一个脚本可以创建一个大型的坐标点数组(~10^8 点),然后我想使用坐标绘制一条折线。PIL 的 ImageDraw.line 适用于常规列表,但在使用 numpy 数组时似乎存在问题。

现在这是我的解决方案:

image = Image.new('RGB', (2**12, 2**12), 'black')
draw = ImageDraw.Draw(image, 'RGB')
draw.line(pos.tolist(), fill = '#00ff00')
Run Code Online (Sandbox Code Playgroud)

pos包含按以下顺序排列的所有点的大型 numpy 数组在哪里:([x0, y0, x1, y1, ...]如果需要,可以更改)。程序最耗时的部分是pos.tolist()部分,约占运行时间的75%。

有没有办法画一条线并将其保存到图像中并将其保留为 numpy 数组?我只想要一个简单的图像,除了线条和黑色背景之外别无他物。

python numpy matplotlib python-imaging-library python-3.x

6
推荐指数
1
解决办法
1921
查看次数

如何在SciPy中绘制粗的抗锯齿线?

我从SciKit-Image中找到了此功能,该功能可让您将正常或抗锯齿的线条绘制到numpy数组中。也可以选择创建多边形,但是这些多边形不会抗锯齿

由于没有绘制粗线(宽度大于一个像素)的功能,因此我考虑绘制多边形,并在边缘上绘制线以具有抗锯齿效果。但是我认为这不是最好的解决方案。

这就是为什么我想问,是否有更好的选择将粗的抗锯齿线绘制到一个numpy数组中(可能带有matplotlib或某物)?

python

4
推荐指数
1
解决办法
1247
查看次数