numpy-从顶部,底部,左侧和右侧删除行和列

问题描述 投票:0回答:1

我有一个由rgba颜色组成的numpy矩阵(这里是一个示例):

[[[  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]
  ...
  [  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]]

 [[  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]
  ...
  [  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]]

 [[  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]
  ...
  [  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]]

 ...

 [[  0   0   0 255]
  [  255   255   255 255]
  [  255   255   255 255]
  ...
  [  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]]

 [[  0   0   0 255]
  [  0   0   0 255]
  [  255   255   255 255]
  ...
  [  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]]

 [[  255   255   255 255]
  [  255   255   255 255]
  [  0   0   0 255]
  ...
  [  0   0   0 255]
  [  0   0   0 255]
  [  0   0   0 255]]]

仅排成行的RGB颜色。

我想做的是确保每个方向上所有黑色值的行/列不超过10个(意味着第0-9行全为黑色,但第10行不是全黑色,第0-9列同样如此)和第10列,矩阵的底部和左侧也是如此。无需假设每侧都有足够的黑色行/列,您可以假设有。

我如何轻松做到这一点?预先感谢!

我有一个由rgba颜色组成的numpy矩阵(这里是一个示例):[[[0 0 0 255] [0 0 0 255] [0 0 0 255] ... [0 0 0 255] [0 0 0 255] [0 0 0 255]] ...

python numpy numpy-ndarray
1个回答
0
投票

这里是一个解决方案,您首先要获取所有唯一元素,然后将它们重复列出。假设您希望每种颜色分别具有三种颜色:

© www.soinside.com 2019 - 2024. All rights reserved.