在图像处理方面,矩阵分解被广泛用于降维(压缩)、去噪、特征提取、数字水印等,是十分重要的数学工具,其中特征分解(谱分解)和奇异值分解是两种常用方法,本文简单介绍如何在OpenCV中使用它们对图像进行分解,然后重新构造图像。
本文不会阐述两种分解的数学背景知识,但是为了方便读者唤醒记忆,会先贴出(部分)数学定义,详细的介绍和证明建议阅读矩阵理论相关书籍或者参考资料。
特征值分解
矩阵对角化定理(Matrix diagonalization theorem):对于 N×N 方阵 A ,如果它有 N 个线性无关的特征向量,那么存在一个特征分解:
A=QΛQ−1
其中, Q 是 N×N 的方阵,且其第 i 列为

本文介绍了如何在OpenCV3.3中使用特征值分解和奇异值分解对图像进行处理。这两种矩阵分解方法常用于图像降维、去噪和特征提取。虽然特征分解对矩阵的要求更为严格,但奇异值分解适用于所有矩阵,尽管其计算复杂度较高。在OpenCV中,cv::eigen用于对称矩阵的特征值和特征向量计算,而cv::SVD::compute则用于奇异值分解。文章提供了相关代码示例来展示这两种分解方法及矩阵重构的过程。
1320

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



