图像滤波和图像混合 Image Filtering and Hybrid Images
项目要求
- 通过滤波分离图像的高频和低频。
- 将不同图像的高频和低频合并以创建相关尺度的图像。

项目原理
-
图像的频率:
频率是灰度值变化剧烈程度的指标,是灰度在平面空间上的梯度。图像中的低频信号和高频信号也叫做低频分量和高频分量。
-
低频:
低频就是颜色缓慢地变化,也就是灰度缓慢地变化,就代表着那是连续渐变的一块区域,这部分就是低频。 对于一幅图像来说,除去高频的就是低频了,也就是边缘以内的内容为低频,而边缘内的内容就是图像的大部分信息,即图像的大致概貌和轮廓,是图像的近似信息。所以说低频分量主要对整幅图像的强度的综合度量。
-
高频:
反过来,高频就是频率变化快。当相邻区域之间灰度相差很大,这就是变化得快。图像中,一个影像与背景的边缘部位,通常会有明显的差别,也就是说变化那条边线那里,灰度变化很快,也即是变化频率高的部位。因此,图像边缘的灰度值变化快,就对应着频率高,即高频显示图像边缘。图像的细节处也是属于灰度值急剧变化的区域,正是因为灰度值的急剧变化,才会出现细节。所以说高频分量主要是对图像边缘和轮廓的度量。
另外噪声(即噪点)也是这样,当一个像素所在的位置与正常的点颜色不一样(该像素点灰度值明显不一样,也就是灰度有快速地变化)时可视为噪声。
主要函数
my_imfilter()
函数解释
my_imfilter函数目的是实现类似于scipy.ndimage.filters.correlate函数的功能。在对于彩色图像(即三通道RGB图像)进行处理时,应该分别对每一个通道分别进行滤波处理。
输入参数
- 待处理图像(255 * 255 * 3)
- 滤波器(3 * 3)
输出参数
滤波处理后的图像(255 * 255 * 3)
主要实现步骤
-
通过numpy的shape函数得图像和滤波器的尺寸(长和宽)
im_dim=image.shape flt_dim=imfilter.shape img_dim1=im_dim[0] img_dim2=im_dim[1] flt_dim1=flt_dim[0] flt_dim2=flt_dim[1]- 为了避免因为卷积运算导致输出图像缩小和图像边缘信息丢失,常常采用图像边缘填充技术,即在图像四周边缘填充0,使得卷积运算后图像大小不会缩小,同时也不会丢失边缘和角落的信息。其中,长度和宽度的增加量取决于过滤器的大小
pad_dim1=int<

最低0.47元/天 解锁文章
6600

被折叠的 条评论
为什么被折叠?



