图像模糊到边缘时重复边像素和循环取样有何差别:规则练习第10例
平滑滤波需要读取相邻像素,但图像边缘外没有真实像素。把坐标限制在边上与从另一边循环取样,会让同一个小滤波器产生不同结果。
使用五乘五灰度网格,横向和纵向都按一、二、一的权重平均,权重总和为四。分别计算夹取边缘和循环坐标两种规则;两步滤波中间保留分数,不做整数舍入。
本例输入与约定
原图五行灰度依次为[[10, 23, 21, 20, 27], [31, 6, 11, 30, 9], [1, 17, 8, 24, 8], [20, 23, 18, 15, 18], [20, 31, 12, 12, 31]]。结果全部以分数或整数保留。
完整计算记录
夹取边缘横向中间值: ['53/4', '77/4', '85/4', '22', '101/4'] ['99/4', '27/2', '29/2', '20', '57/4'] ['5', '43/4', '57/4', '16', '12'] ['83/4', '21', '37/2', '33/2', '69/4'] ['91/4', '47/2', '67/4', '67/4', '105/4'] 夹取边缘最终结果: ['129/8', '285/16', '313/16', '43/2', '45/2'] ['271/16', '57/4', '129/8', '39/2', '263/16'] ['111/8', '14', '123/8', '137/8', '111/8'] ['277/16', '305/16', '17', '263/16', '291/16'] ['89/4', '183/8', '275/16', '267/16', '24'] 循环边界横向中间值: ['35/2', '77/4', '85/4', '22', '21'] ['77/4', '27/2', '29/2', '20', '79/4'] ['27/4', '43/4', '57/4', '16', '41/4'] ['81/4', '21', '37/2', '33/2', '71/4'] ['51/2', '47/2', '67/4', '67/4', '47/2'] 循环边界最终结果: ['319/16', '151/8', '295/16', '323/16', '341/16'] ['251/16', '57/4', '129/8', '39/2', '283/16'] ['53/4', '14', '123/8', '137/8', '29/2'] ['291/16', '305/16', '17', '263/16', '277/16'] ['355/16', '349/16', '293/16', '18', '343/16']
表中编号仅用于识别本例的元素。读取一个结果时,应先核对它对应的输入、处理顺序和边界约定;布尔值表示条件是否成立,空集合表示没有符合要求的对象,不应把这些字段混成同一种数值。
复核方法与适用范围
横纵分开处理应与直接使用九项权重积并除以十六一致。原图若处处相同,输出也应相同;边界之外的坐标必须在每次取样时按当前规则转换。
这里模拟线性灰度数值,未处理实际颜色空间、透明度或显示色调。把结果直接当作任意彩色图片的正确模糊并不合适;本文关注的是取样边界与分离计算的一致性。
练习时可以先独立计算最前面的一步,再检查最后的整体不变量。若结论不同,应保留各步记录,定位第一处差异;只调整最终数字会掩盖规则理解上的问题。改变输入后也要重新演算,而不是照抄这一例的输出。
