3.19
(a) 正如在3.6.2节中指出的, 单独的暗的或亮的象素块(和背景比较), 如果面积小于中值滤波器的一半, 可以被滤波消去(设置成背景的灰度值). 假设中值滤波器的大小为n×n, 并且n为奇数, 解释一下为什么.
(b) 一幅图像中存在不同的象素块. 假设一个块中的所有点都比背景亮或者暗(不会同时), 而且每一个块的面积都小于等于n
2/2. 如果满足什么条件(用n表示), 则这些块不再被认为是单独的?(从问题(a)的角度考滤)
解答
(a)
如果这个象素块中的点都比背景亮, 即对度大于背景, 在n×n的中值滤波器中, 和背景的象素一起排序时, 因为它的面积小于一半, 则可以肯定它们都比排在第(n×n+1)/2的象素要亮, 所以没有机会被选中, 都会被滤掉. 对于暗的象素块, 情况类似.
(b)
如果两个象素块足够接近, 而且又同时都大于或者都小于背景的灰度, 那么在进行中值滤波的时候, 这些象素块中的点将会有机会被选为中值. 在这种情况下, 这些象素块将无法被滤掉, 也就是不再被认为是单独的.
我们假设象素块是正方形的,大小为n×n一半. 它们的边长为sqrt(2)/2*n,离滤波器的最大边界距离[1-sqrt(2)/2]*n, 所以这些块单独存在的条件是它们之间的距离大于[1-sqrt(2)/2]*n.
3.20
(a) 提出一种计算n×n大小的邻域的中值的算法.
(b) 提出一种当邻域的中心移动一个象素时, 更新其中值的算法.
解答
(a) 将这n×n个灰度值排序并用链表连接, 第[(n×n+1)/2]个值即为中值.
(b) 将从邻域出移出的灰度值从链表中删去, 将新加入的值插入链表的合适位置, 然后再读出中值.
3.21
(a) 在文字识别的应用中, 文本页通常用一个阈值将其二值化. 然后将字符细化成在背景0上由1组成的笔画. 由于噪声, 在二值化和细化的过程中, 可能造成笔画的断裂, 间隔为1到3个象素. 有一种修复断裂的办法是对二值图像进行一次平均滤波, 使之模糊, 从而形成连接断裂处的桥梁. 给出所需的平均滤波器的最小大小.
(b) 在连接了断裂处以后, 需要重新用阈值对图像进行二值化. 对在(a)中给出的答案, 为了不使笔画再次断裂, 阈值的最小可能取值是多少.
解答
(a)
因为最大的断裂长度是3个象素, 所以使用5×5大小的平均滤波器可以使断裂中点处也就是第二个象素有一定的灰度值.
(b)
断裂中点处分别受到来自两边的笔画的影响, 平均滤波后灰度值的大小为1/25 + 1/25, 所以阈值不能小于2/25