本文主要是介绍最大最小值滤波,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最大值、最小值滤波,通过取邻域像素最大或最小值作为输出图像的像素值。MATLAB图像处理工具箱并没有提供专门用于最大值、最小值滤波的函数,如有需要,读者可以自行编写相关的函数。一种替代的方案是利用形态学处理中的扩散函数imdilate和腐蚀函数imerode。imdilate、imerode一般的调用格式为:
B = imdilate(A, SE);
B = imerode(B, SE)。
其中A、B为输入、输出图像。当imdilate、imerode用于最大值、最小值滤波时,SE为 的全1矩阵。
最大值滤波可以去除图像中的暗斑,同时也会使亮斑增大;最小值滤波可以去除图像中的亮斑,同时也会增大暗斑,如图20.77所示。
最大最小值滤波
最大最小值滤波是一种比较保守的图像处理手段,与中值滤波类似,首先要排序周围像素和
中心像素值,然后将中心像素值与最小和最大像素值比较,如果比最小值小,则替换中心像
素为最小值,如果中心像素比最大值大,则替换中心像素为最大值。一个Kernel矩阵为3X3的最大最小值滤波如下:
原图如下:
分别实现中值和均值滤波以后效果如下:
这篇关于最大最小值滤波的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!