SP3003 FILTER - Median Filter
题目描述
中值滤波器是一种用于降低图像、声音以及其他信号中的噪声的非线性数字滤波器。它通过一个「窗口」检查输入信号中的每个样本,然后输出窗口中样本的「中位数」。简单来说,窗口是一个包含目标样本及其上下左右相邻样本的区间;一组数据的中位数是将这些数按大小顺序排列后位于中间的那个数。
我们来看看一种典型的黑白光栅图像的中值滤波器。这个滤波器使用 3 × 3 的窗口,这个窗口包含一个目标像素及其周围的八个像素。滤波器依次检查每个像素,通过这一 3 × 3 的窗口输出这九个像素值的中位数,即第五小的像素值到相应像素处。需要注意的是,当处理黑白图像时,输出的值只取决于像素值的多数,因为像素只有两种可能的值,即黑和白。下图展示了滤波器如何工作的。

由于图像边缘缺少相邻像素,边缘部分需要特别处理。在本题中,我们通过重复图像边缘的像素值来扩展图像,如下图所示。也就是说,缺失的像素将采用原图中最近的像素值。

你的任务是编写一个程序,读入经过滤波的图像,找出所有可能的原始图像中黑色像素数量最多和最少的情况,然后计算这两种情况之间黑色像素数量的差值。
输入格式
输入包含多组测试用例。
每组测试从一行两个整数 $W$ 和 $H$ 开始($1 \le W, H \le 8$),表示图像的宽度和高度。接下来的 $H$ 行描述滤波后的图像。第 $i$ 行表示第 $i$ 扫描线,包含正好 $W$ 个字符,每个字符要么是 `#`(表示黑色),要么是 `.`(表示白色)。
以一行 "0 0" 结束输入。
输出格式
对于每组测试用例,输出一个结果,包含测试用例编号和黑色像素数量的差值。如果给定的滤波后图像没有可能的原始图像,则输出 "Impossible"。
格式请按样例输出要求进行。
**本翻译由 AI 自动生成**