【问题标题】:Delete zero rows from np.array [duplicate]从 np.array 中删除零行 [重复]
【发布时间】:2019-12-23 13:58:48
【问题描述】:

我需要加载图像,将其转换为 np.array,然后删除所有包含全零的行。 加载我使用的图像:

image = Image.open(path).convert(mode='L')  
image = (np.array(image,dtype=int))

图像是黑白图像,黑色为0,白色为1。图像如下:

0000000000100000000001000000
0000000000000000010000000000
0000000000000000000000000000
0000000000000000000000000000
0000000000000000000000000000
0000000000000000000000000000
0000010011000000001110000000

我需要删除所有零行以获得类似:

0000000000100000000001000000
0000000000000000010000000000
0000010011000000001110000000

是否有一个 numpy 函数可以做到这一点?我是否以正确的方式做这件事? 非常感谢。

【问题讨论】:

标签: python arrays image numpy


【解决方案1】:

我会做以下事情:

new_image = []

for i in range(image.shape[1]):
    if 1 in image[i,:]:
        new_image.append(image[i,:])
    else:
        continue

然后您可以使用

转换回 numpy 数组
new_image = np.array(new_image)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 2023-03-11
    • 2019-11-24
    • 1970-01-01
    • 2010-11-05
    • 2018-03-01
    相关资源
    最近更新 更多