如何用图像中的其他值替换某些百分比的值



我有一个RGB图像,我必须为每个通道指定一定百分比的最亮像素为255,指定一定百分比最暗像素为0。在numpy中有一种简单的方法可以做到这一点吗?

这里有一种方法,可以通过排序、找到阈值并替换它们来实现,但是,如果你正在寻找一种有效的方法,你真的不需要对图像进行排序,你可以使用np.partition(你的图像是arr,我假设最后一个维度是通道的。更新0.05以获得所需的百分比。对于暗点,这将是类似的解决方案,但有一些小的变化(:

b = arr.reshape(-1,arr.shape[-1])
n = int(0.05 * b.shape[0])
threshold = np.sort(b,0)[n]
arr[arr>threshold] = 100

最新更新