こんにちは、画像の上にグリッドを追加してPythonで表示する方法を考えていました。これが私がやりたいことの写真です。注: 下の画像のように、画像内の一部のブロックの線種と色も指定したいと思います。どうもありがとう。
質問する
1734 次
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 に答える