介绍
坦白说,尖锐的边缘很危险,因此,如果输入PNG,请使用以下所述的方法模糊图像,并钝化那些锐利的尖锐边缘。
方法
要获取每个像素的RGB值,请使用以下三个公式:
其中是每个相邻像素的红色值的平方之和。的值是相邻像素的数量(例如,角像素的值为3,而图像中心周围的像素的值为8)。
相邻像素是在所有方向(左,右,上,下和所有对角线)上均距原始像素1个像素的像素。
例如,在以下3 x 1图像中:
中间像素的RGB模糊值将为:
十进制输出将四舍五入到最接近的单位。您不应简单地限制结果。
因此,中间像素将是颜色(0、221、221),或:
结果图像:
您应该对图像中的每个像素重复此过程。(请注意,您是使用原始像素而不是修改后的像素执行此操作的。基本上,您不应该覆盖原始图像,并且应使其与新的模糊图像完全分开)。
如果计算出的任何值都大于255,请假定其值为255(即,将374的值设置为255)。
结果输出应为单独的PNG图像(您可以随意命名)。
例子
超级马里奥
原版的:
模糊:
棋盘
原版的:
模糊:
薯片
原版的
模糊
不再那么脆了
美国哥特式
原版的:
模糊:
要在较大的图像上看到模糊,最好在模糊的图像上再次运行该程序:
挑战
使给定PNG图像模糊的最短代码获胜。
您可以使用图像处理库(例如PIL),但不能使用内置的模糊功能(Mathematica,我在找您)。
注意
就像@orlp在下面说的那样:
根据记录,(据我所知)这不是标准的模糊方法。这个挑战不是教育资源。
当我看到“ Blunt”时,我想到的是非常不同的东西:P。
—
阿德南
根据记录,(据我所知)这不是标准的模糊方法。这个挑战不是教育资源。
—
orlp
如果您有一个被8个白色像素包围的白色像素(全部为rgb(255,255,255)),则模糊像素将为rgb(312,312,312)。我们是否应该将值限制在[0,255]范围内?
—
kamoroso94 '16
@ kamoroso94 1:是,假设任何大于255的数字都是255。2:示例图像应表示为3 x 1图像。
—
Beta Decay
n
应该出现在分母中。