如何勾勒matplotlib
中的像素邊界?例如,對於一個半隨機數據集類似下面,matplotlib輪廓可以匹配像素邊緣嗎?
# the code block that follows is irrelevant
import numpy as np
k = []
for s in [2103, 1936, 2247, 2987]:
np.random.seed(s)
k.append(np.random.randint(0, 2, size=(2,6)))
arr = np.hstack([np.vstack(k)[:, :-1], np.vstack(k).T[::-1].T ])
image = np.zeros(shape=(arr.shape[0]+2, arr.shape[1]+2))
image[1:-1, 1:-1] = arr
這是很清楚的是匹配的image
像素邊緣的輪廓將是優選的輪廓功能,其中的默認行爲等高線被有效地繪製在邊緣像素的對角線上。
import matplotlib.pyplot as plt
plt.contour(image[::-1], [0.5], colors='r')
如何使輪廓與像素對齊?我正在尋找numpy
和matplotlib
庫中的解決方案。
我想知道你是怎麼想出這些種子吸取這個特殊的圖片嗎? – Andyk
@Andyk沒有什麼奇特的 - 只是重複隨機抽樣,直到找到所需的種子。 –