在Python中裁剪图像的前景

时间:2013-12-23 22:16:08

标签: python image-processing

我操纵了一个jpg图像,以便我将前景隔离,并在其他地方使用所有黑色像素。 我希望能够裁剪图像,使上方和下方没有完整的黑色行,或前景左右两侧的全黑色列。 我想我可以通过Numpy数组获得我需要的4个索引,但是想知道是否有更直接和/或更快的方法。

import numpy as np
import matplotlib.pyplot as plt


im=np.array(    
[[0,0,0,0,0,0,0],
[0,0,1,1,1,0,0],    
[0,1,1,1,0,0,0],    
[0,0,1,1,0,0,0],    
[0,0,0,0,0,0,0]])

plt.imshow(im, cmap=plt.cm.gray,interpolation='nearest')

enter image description here

然后发生了一些事情,我得到了:

enter image description here

1 个答案:

答案 0 :(得分:1)

im[~np.all(im == 0, axis=1)]可以删除全部为零的行。 axis=2将删除列。这对你有用吗?