4

こんにちは、画像の上にグリッドを追加してPythonで表示する方法を考えていました。これが私がやりたいことの写真です。注: 下の画像のように、画像内の一部のブロックの線種と色も指定したいと思います。どうもありがとう。 この画像はmatlabで生成されました

4

2 に答える 2

1

以下の例は、.tif ファイルを表示し、グリッドを作成する方法を示していますが、画像とグリッドの上にボックスと線を描画できるように、グリッドを他のプロット要素の下に配置する方法も示しています。

import matplotlib.pyplot as plt
from PIL import Image
import matplotlib.patches as mpatches

im = Image.open('stinkbug.tif')

# Flip the .tif file so it plots upright
im1 = im.transpose(Image.FLIP_TOP_BOTTOM)

# Plot the image
plt.imshow(im1)
ax = plt.gca()

# create a grid
ax.grid(True, color='r', linestyle='--', linewidth=2)
# put the grid below other plot elements
ax.set_axisbelow(True)

# Draw a box
xy = 200, 200,
width, height = 100, 100
ax.add_patch(mpatches.Rectangle(xy, width, height, facecolor="none",
    edgecolor="blue", linewidth=2))

plt.draw()

plt.show()

matplotlib.patches を使用して、画像上にあらゆる種類の形状を描画できます。個々の線を描画するには、次の線を使用するのが好きですが、matplotlib.lines.Line2D を使用することもできます。

plt.axvline(x=0.069, ymin=0, ymax=40, linewidth=4, color='r')
于 2012-05-25T21:51:24.243 に答える
0

imshow画像を表示する機能があります。軸の上にグリッドを表示するのは、次のように簡単です。grid(True).

于 2012-05-17T10:08:25.227 に答える