添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

好奇心来源于类似的图片

windows聚焦

在这里插入图片描述
这种类似的背景模糊称为高斯模糊,直白的说就是其视觉效果就像是经过一个毛玻璃在观察图像。
基于EasyX实现此效果
原理介绍:
所谓图像模糊就是让图像中的细节淡化,考虑到像素方面就是减少图像像素与周围像素差值,其效果可以简单的用计算平均值的方法实现
在这里插入图片描述
中间像素值为2,周围像素为1,如果想实现简单的模糊处理只需要把中间的像素值变成周围像素值的平均值,当然,此图处理半径为1个单位,但也可以扩大处理半径,原理也是相同。

但这样并不是最终的处理结果,虽然这种简单的方法可以实现大致的模糊,但图像处理后会显得不是很平滑。如果想实现更加平滑的模糊效果,可用以数学方法。
需要用到一种函数: 高斯函数 (二维正态分布)
在这里插入图片描述
在这里插入图片描述
可以用高斯函数对图像进行卷积处理,直白的说就是对刚才的平均值做加权处理,得到一个加权平均值,而上面的模型图直观的反映了每一块当中各个像素的权值,当然此图比较突兀,反映到图像上会是处理后的图像颜色相对集中,也就是白的更白,黑的更黑。这种程度可以通过调节参数sigma来改变。
具体实现
此方法基于EasyX,c语言实现,简单易懂。

1. 构建权值矩阵
利用高斯函数,u,v分别代表二维坐标,sigma值一般设0.7,当然可以自己设置(越小图像突兀程度越高),这样可以计算出每个模糊半径块中每个像素的权值,由于处理后图像颜色基调不能变,所以计算出权值后要给每个值都除以其权值之和,保证其矩阵之和为1.
在这里插入图片描述
注意坐标不是基于原图像的坐标,坐标只用来生成矩阵。(以上为半径为1的权值矩阵)
2.计算加权平均值
用周围像素值乘以其对应的权值在相加得到中心像素值,之后对图像的每一个像素做相同的处理即可。由于灰度图像可用一个像素值代替,因此处理一般图像需要分别计算RGB各颜色对应的像素值。

所用函数
DWORD * p GetImageBuffer(IMAGE *img); 获取绘图设备的显示缓冲区指针,用指针就可以操作每个像素了。
莱娜图最终测试效果:
在这里插入图片描述

//====================================================== //项目名称:ATM用户界面 //环境:vs2019,easy x图形 //作者:jack shi //开始时间:2019.6.3 //完成时间:2019.6.20 //======================================================
这篇文章主要讲图像的边缘化处理,之前我已经讲解了图像的灰度化和二值化,在图像处理中还有对图像边缘化的处理,这里我采用各种不同的算子处理图像,读者可以自己看出这些算子的效果。 在写代码之前,我参考了一下这个资料,其实关于图像边缘化的原理,网上有很多,也很详细,这里就不多说了。 https://blog.csdn.net/guanyuqiu/article/details/52993412
自由运动的点 这个程序并没有太强的艺术效果,只是为了做一个全屏模糊处理的范例。 其中,点的非直线自由运动的部分,是用的我在高中时候用 QuickBasic 实现 的一种简单方法,看到这部分代码有点让人怀念过去,呵呵。 简单说明一下: 为了使范例更清晰,全屏模糊处理的代码我做了简化,将第一行和最后一行忽略掉了。通过代码可以清晰地看到,所谓全屏模糊,其实就是对每个点与相邻的几个点的颜色做平均处理(可...
高斯模糊 算法 详见: 高斯模糊 ,基本思想就是利用高斯函数,将一个坐标点的所有邻域的加权平均值设置为这些点的颜色值。 中值滤波算法就更简单了:将一个坐标点的所有邻域的平均值设置为这些点的像素值。 二、算法的代码 实现 高斯函数: 使用宏定义来替换: #define PI 3.1415926 // 高斯模糊 函数 #define GAUSS_FUN(x, y) (exp(-(x*x)
图像模糊处理 ///////////////////////////////////////////////////////////////////////// // 程序名称:将图片进行模糊处理 // 编译环境:VC6.0 ~ 2017, EasyX 20180727(beta) // 作  者:鼠瓜 // 最后修改:2018-12-9 //算法说明:遍历图片像素,将每个像素颜色值与其周围像素颜色...