个性化阅读
专注于IT技术分析

图像处理之卷积的概念

卷积用于许多事情, 例如计算导数, 检测边缘, 应用模糊等, 而所有这些操作都是使用“卷积内核”完成的。卷积核是一个很小的矩阵, 在这个矩阵中, 每个单元都有一个数字以及一个锚点。

锚点用于了解内核相对于图像的位置。它从图像的左上角开始, 并在每个像素上顺序移动。内核在图像上的每个位置重叠几个像素。重叠的每个像素相乘然后相加。并将总和设置为当前位置的值。

卷积的概念

卷积是将图像的每个元素添加到其本地邻居中, 然后由内核对其进行加权的过程。它与一种数学卷积形式有关。

在卷积中, 矩阵不执行传统的矩阵乘法, 但用*表示。

假设有两个3×3矩阵, 一个是内核, 另一个是图像。在卷积中, 内核的行和列被翻转, 然后相乘, 然后进行求和。存在于矩阵中心即图像的[2, 2]中的元素将由图像矩阵加权组合, 并且权重将由内核给出。同样, 矩阵的所有其他元素将被加权, 然后将计算权重。

以下是描述卷积过程的伪代码:

For each image row in input image:
	For each pixel in image row:
		Set accumulator to zero
	For each kernel row in kernel:
		For each element in kernel row:
			If element position corresponding* to pixel position then
				Multiply element value corresponding*to pixelvalue
				Add result to accumulator
			Endif
Set output image pixel to accumulator

可以使用多个for循环来计算卷积。但是使用for循环会导致大量重复计算, 并且图像和内核的大小也会增加。使用离散傅里叶变换技术可以快速完成卷积运算。在这种技术中, 整个卷积运算被转换为简单的乘法。

在卷积中, 由于内核是二维的, 因此当内核靠近边缘或拐角时会出现问题。

为了克服这些问题, 可以做以下事情:

  1. 一个人可以忽略
  2. 可以在边缘附近创建额外的像素。

可以通过以下方式创建额外的像素:

  1. 边缘像素重复。
  2. 反射边缘
  3. 可以从另一端复制像素。

赞(0)
未经允许不得转载:srcmini » 图像处理之卷积的概念

评论 抢沙发

评论前必须登录!