0. 前言
这是C语言数字图像处理系列的最后一章。作为这个博客帐户的第一个系列和作品,很高兴看到了一百多位新增的粉丝,也非常感谢大家在这两周陪伴!
这个系列的内容来自博主在香港学习计算机科学时候的一门课程,这是一门本科生和研究生都可以选修的课。也就是说,如果读者能够学习和实践这10章里面的内容,在有需要的时候配合教科书(数字图像处理 (第三版),作者: Rafael C. Gonzalez)加深理解,那么你就对DIP里面所有常用的算法有了一个比较全面的掌握。
再次,如果你喜欢这个系列的文章或者感觉对你有帮助,请帮忙给我的仓库点一个⭐️!
仓库地址和这一章节的所有代码都在:10. Otus, Moving Average, and Region Growing
再次感谢!
1. Otus算法
以下是Otus的算法执行步骤:
(1) 计算输入图像的归一化直方图,使用 来表示直方图的每个组成部分。 其中
是强度为 𝑖 的像素数。
(2)计算 𝑘 = 0,1,2, ... , 𝐿 − 1 的累积和 :
(3) 计算 𝑘 = 0,1,2, ... , 𝐿 − 1 的累积平均值 𝑚(𝑘):
(5)计算全局强度的平均值:
(5) 计算 𝑘 = 0,1,2, ... , 𝐿 − 1 的类间方差 :
(6)获取最佳阈值𝑘*,如果最大值不唯一,则使用对应检测到的最大值𝑘的平均值得到𝑘*:
(7)二值化: