这个has been somewhat answered before,但与MATLAB's equivalent function相比,解决方案非常慢。在我的计算机上,该函数在python中执行需要1.7秒,而在MATLAB中相同的图像只需要0.009秒。结果是一样的,但速度差距很大。
这可以优化吗?或者还有其他任何可以快速进行直方图拉伸的python库吗?
答案 0 :(得分:1)
那些答案不是很好。 imadjust
只是做一个线性伸展。您需要找到下限和上限(默认情况下,它使用1%和99%的数据)。获得lower
和upper
后,您就可以
out = (img - lower) * (255 / (upper - lower)
np.clip(out, 0, 255, out) # in-place clipping
您可能需要img
为浮点类型才能正常工作。
在Numpy中查看this question的线性映射。