如何解决如何找到图像中最常见的RGBA像素值?
我有一只狗的图像,它的形状为# A tibble: 9 x 5
# Groups: names,category,days [9]
days names numbers category rolling
<fct> <fct> <dbl> <fct> <dbl>
1 1 cali 4 kingdom NA
2 2 bong 3 democratic NA
3 3 bong 3 democratic NA
4 4 cali 1 kingdom NA
5 5 neva 4 democratic NA
6 6 cali 4 democratic NA
7 7 neva 2 kingdom NA
8 8 neva 2 kingdom NA
9 9 bong 5 democratic NA
。 ndarray中的第3维包含每个像素的RGBA值。我想找出最常见的像素是什么,即模式。
对于二维数组,我可以使用以下行:(432,575,4)
但是,我不知道如何只比较3d数组的第3维中的向量。这个问题类似,但是仅适用于二维数组:Finding the most common subarray within a numpy array。如果我只是将np.unique(a,axis=0,return_counts=True)
更改为“ = 1”,那么它并不能满足我的需要。
解决方法
由于您不关心图像的形状,因此可以使用reshape
来平坦化图像并使用链接的答案:
rgba,counts = np.unique(a.reshape(-1,4),axis=0,return_counts=True)
# the mode here
rgba[np.argmax(counts)]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。