我有一个维度的图像155 x 240
。就像下面这样:
我想提取某些形状的补丁(25 x 25)。 我不想从整个图像中修补。
我想从图像的非零(非背景)区域提取 N 个补丁。我怎样才能做到这一点?任何想法、建议或实施将不胜感激。您可以尝试使用 Matlab 或 Python。
注意: 我生成了一个随机图像,以便您可以对其进行处理以进行修补。image_process变量是这段代码中的图像。
import numpy as np
from scipy.ndimage.filters import convolve
import matplotlib.pyplot as plt
background = np.ones((155,240))
background[78,120] = 2
n_d = 50
y,x = np.ogrid[-n_d: n_d+1, -n_d: n_d+1]
mask = x**2+y**2 <= n_d**2
mask = 254*mask.astype(float)
image_process = convolve(background, mask)-sum(sum(mask))+1
image_process[image_process==1] = 0
image_process[image_process==255] = 1
plt.imshow(image_process)
缥缈止盈
相关分类