![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图像处理
文章平均质量分 82
犹豫、就会败北
这个作者很懒,什么都没留下…
展开
-
linux下使用cmake和libpng来对png图像进行读写
在进行图像处理操作之前,首要任务是确保能够正确地读取图像。编写纯 C 语言代码进行图像处理时,不太适宜使用 OpenCV2。因此,为了遵循标准且便于操作,我们采用 libpng 的代码库来实现对 PNG 图像的读写。之所以选择在 Linux 系统下进行此项操作,主要是因为许多库在 Linux 环境下的安装更为便捷,例如 libpng。而在 Windows 系统下,需要下载源码、进行编译以及配置路径等一系列操作,极为繁琐,这与我们进行算法学习的初衷背道而驰。原创 2024-09-09 09:21:26 · 207 阅读 · 0 评论 -
双边滤波的python实现
相关原理具体详细的解释可以看论文A Gentle Introduction to Bilateral Filteringand its Applications,简单的解释可以参考下面的链接:链接:对我来说,这个算法本质上也是一个矩阵在图像上移动并进行卷积的过程,这个算法的关键就在于对其计算公式的理解,其公式如下所示:[图片]我们来详细解释一下上面两个代码,p代表正在进行滤波的像素点,即矩阵块移动的中心位置,q代表矩阵中的各个像素点的位置。BFIp代表经过滤波后的新的像素值,原创 2024-09-03 11:08:09 · 894 阅读 · 0 评论 -
高斯滤波的python实现
当矩阵的长宽确定时,矩阵内每个(x, y)与(x0, y0)之间的距离是固定的,所以我们可调的参数只有A,sigma。但我们通常取A为1,所以高斯函数核的生成代码如下所示,我们假设x0,y0的值都为0,所以可以得到下x,y的相对位置。高斯滤波的本质也是一个卷积在图像上移动相乘的结果,具体原理可以参考最下面的链接,讲的比较详细。而高斯函数的公式与分布如下图。所以我们要做的是通过该函数得到一个矩阵,我们假设矩阵的中心点为(x0,y0),矩阵中任意一点的高斯值就应该是。而图像中常用为二位高斯函数,如下。原创 2024-08-31 10:43:20 · 1046 阅读 · 0 评论 -
均值滤波与中值滤波的python实现
按上图方式,第一个点的新像素值就应该是原始像素与周围八个像素和的平均,计算完后,移入下一个像素进行计算,直到遍历完整的图像,就可以得到框为3的均值滤波图像。如果是三通道的RGB图,记得要对每一层进行滤波操作。从上面的操作可以看出,当框处于图像边界时,外部是没有像素的,这里我们一般处理是填0,或者是镜像填充或者是边缘复制,这两种处理会对滤波图像的边缘产生影响。按下图方式,第一个点的新像素值就应该是原始像素与周围八个像素排序,去中位数作为新像素点,移入下一个像素进行计算,直到遍历完整的图像,原创 2024-08-30 14:12:31 · 208 阅读 · 0 评论