当前位置: 首页 > news >正文

宝鸡市网站建设_网站建设公司_GitHub_seo优化

建设门户网站申请报告,关于网站建设的职位,做美陈网站,线上推广方法有哪些『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】236. 特征提取之主成分分析#xff08;OpenCV#xff09; 文章目录【youcans 的 OpenCV 例程200篇】236. 特征提取之主成分分析#xff08;OpenCV#xff09;5.2 主成分分析的数学方法5.4 OpenC…『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】236. 特征提取之主成分分析OpenCV 文章目录【youcans 的 OpenCV 例程200篇】236. 特征提取之主成分分析OpenCV5.2 主成分分析的数学方法5.4 OpenCV 的主成分分析方法例程 14.17特征描述之主成分分析 OpenCV特征提取是指从原始特征中通过数学变换得到一组新的特征以降低特征维数消除相关性减少无用信息。 特征提取分为线性映射方法和非线性映射方法。 5.2 主成分分析的数学方法 主成分分析Principal Components AnalysisPCA是一种基于统计的数据降维方法又称主元素分析、主分量分析。主成分分析只需要特征值分解就可以对数据进行压缩、去噪应用非常广泛。 众多原始变量之间往往具有一定的相关关系。这意味着相关变量所反映的信息有一定程度的重叠因此可以用较少的综合指标聚合、反映众多原始变量所包含的全部信息或主要信息。主成分分析方法研究特征变量之间的相关性、相似性将一组相关性高的高维变量转换为一组彼此独立、互不相关的低维变量从而降低数据的维数。 主成分分析方法的思想是将高维特征p维映射到低维空间k维上新的低维特征是在原有的高维特征基础上通过线性组合而重构的并具有相互正交的特性称为主成分特性。 通过正交变换构造彼此正交的新的特征向量这些特征向量组成了新的特征空间。将特征向量按特征值排序后样本数据集中所包含的全部方差大部分就包含在前几个特征向量中其后的特征向量所含的方差很小。因此可以只保留前 k个特征向量而忽略其它的特征向量实现对数据特征的降维处理。 主成分分析的基本步骤是对原始数据归一化处理后求协方差矩阵再对协方差矩阵求特征向量和特征值对特征向量按特征值大小排序后依次选取特征向量直到选择的特征向量的方差占比满足要求为止。 主成分分析方法得到的主成分变量具有几个特点1每个主成分变量都是原始变量的线性组合2主成分的数目大大少于原始变量的数目3主成分保留了原始变量的绝大多数信息4各主成分变量之间彼此相互独立。 算法的基本流程如下 1归一化处理数据减去平均值 2通过特征值分解计算协方差矩阵 3计算协方差矩阵的特征值和特征向量 4将特征值从大到小排序 5依次选取特征值最大的 k个特征向量作为主成分直到其累计方差贡献率达到要求 6将原始数据映射到选取的主成分空间得到降维后的数据。 在图像处理中把每幅二维图像拉伸为一维向量即展平为一维数组。一组 m 幅图像就构造为一个 m 维向量使用 Karhunen-Loève transformKLT 变换得到变换矩阵选取特征值最大的 k个特征向量作为主成分从而实现特征降维。 图像压缩过程是把一组原始图像变换成低维向量的过程图像重建就是由低维向量变换重建图像组的过程。使用主成分分析进行图像压缩和重建会有少量信息损失但可以把损失控制到很小。 5.4 OpenCV 的主成分分析方法 OpenCV 中提供了主成分分析Principal Components AnalysisPCA方法的实现即 cv::PCA 类。类的声明在 include/opencv2/core.hpp 文件中类的实现在 modules/core/src/pca.cpp 文件中。 成员函数 PCA::PCA默认构造并初始化一个空的 PCA 结构PCA::backproject将数据从 PCA 空间投影回原始空间重建原始数据PCA::operator()对提供的数据执行主成分分析操作PCA::project将输入数据投影到 PCA 特征空间PCA::read从指定文件读入特征值、特征向量和均值PCA::write向指定文件写入特征值、特征向量和均值 属性 PCA::eigenvalues协方差矩阵的特征值PCA::eigenvectors协方差矩阵的特征向量PCA::mean均值投影前减去均值投影后加上均值 PCA 类使用 Karhunen-Loeve 变换由协方差矩阵的特征向量计算得到一组向量的正交基。 在 Python 语言中OpenCV 提供了 PCA 类的接口函数 cv.PCACompute()cv.PCAProject() 和 cv.PCABackProject()。 函数说明 cv.PCACompute(data, mean[, eigenvectorsNone, maxComponents0]) → mean, eigenvectors cv.PCACompute(data, mean, retainedVariance[, eigenvectorsNone]) → mean, eigenvectors cv.PCACompute2(data, mean[, eigenvectorsNone, eigenvaluesNone, maxComponents0]) → mean, eigenvectors, eigenvalues cv.PCACompute2(data, mean, retainedVariance[, eigenvectorsNone, eigenvaluesNone]) → mean, eigenvectors, eigenvaluescv.PCAProject(data, mean, eigenvectors[, resultNone]) → result cv.PCABackProject(data, mean, eigenvectors[, resultNone]) → result函数 cv.PCACompute 是 PCA::operator 的接口用于对提供的数据执行主成分分析操作返回均值、特征向量和特征值。 函数 **cv.PCAProject ** 是 PCA::project 的接口用于将输入数据按选择的特征向量投影到 PCA 特征空间。 函数 cv.PCABackProject 是 PCA::backproject 的接口用于将输入数据按选择的特征向量投影从 PCA 空间投影回原始空间重建原始数据。 参数说明 data输入数据矩阵对于 cv.PCACompute 和 PCAProject 是 m×P 原始数据矩阵对于 PCABackProject 是 m×K 降维数据矩阵 (K≤P)(K \le P)(K≤P) mean均值形状为 (1,P)如果该参数的输入为空则通过输入数据计算均值 maxComponents保留主成分的个数默认为保留全部主成份 retainedVariance保留的累计方差的百分比据此确定保留主成分的个数至少保留 2个主成分 eigenvectors特征向量全部特征向量的形状为 (P,P)前 K 个特征向量的形状为 (K,P) eigenvalues特征值全部特征向量的形状为 (P,1)前 K 个特征向量的形状为 (K,1) 注意事项 注意事项 输入参数中的 mean 如果为空其格式为 np.empty((0)) 或 np.array([])。OpenCV-Python-PCA 是 C 语言版本 PCA 类的接口有些变量/参数的格式有些不方便。网络上关于 OpenCV-Python-PCA 的很多博文可能也有问题错误请读者务必注意。 例程 14.17特征描述之主成分分析 OpenCV 本例程的图像来自 R.C.Gonzalez 《数字图像处理第四版》P622 例11.16。本例的目的是说明如何使用主分量作为图像特征。 # 14.17 特征描述之主成分分析 (OpenCV)# 读取光谱图像组img cv2.imread(../images/Fig1138a.tif, flags0)height, width img.shape[:2] # (564, 564)nBands 6 # 光谱波段种类snBands [a,b,c,d,e,f] # Fig1138a~fimgMulti np.zeros((height, width, nBands)) # (564, 564, 6)Xmat np.zeros((img.size, nBands)) # (318096, 6)print(imgMulti.shape, Xmat.shape)# 显示光谱图像组# fig1 plt.figure(figsize(9, 6)) # 原始图像6 个不同波段# fig1.suptitle(Spectral image of multi bands by NASA)for i in range(nBands):path ../images/Fig1138{}.tif.format(snBands[i])imgMulti[:,:,i] cv2.imread(path, flags0) # 灰度图像# ax1 fig1.add_subplot(2,3,i1)# ax1.set_xticks([]), ax1.set_yticks([])# ax1.imshow(imgMulti[:,:,i], gray) # 绘制光谱图像 snBands[i]# plt.tight_layout()# 主成分分析 (principal component analysis)m, p Xmat.shape # m训练集样本数量p特征维度数Xmat np.reshape(imgMulti, (-1, nBands)) # (564,564,6) - (318096,6)mean, eigenvectors, eigenvalues cv2.PCACompute2(Xmat, np.empty((0)), retainedVariance0.98) # retainedVariance0.95# mean, eigenvectors, eigenvalues cv2.PCACompute2(Xmat, np.empty((0)), maxComponents3) maxComponents3print(mean.shape, eigenvectors.shape, eigenvalues.shape) # (1, 6) (3, 6) (3, 1)eigenvalues np.squeeze(eigenvalues) # 删除维度为1的数组维度(3,1)-(3,)# 保留的主成分数量K eigenvectors.shape[0] # 主成分方差贡献率 95% 时的特征维数 K3print(number of samples: m, m) # 样本集的样本数量 m318096print(number of features: p, p) # 样本集的特征维数 p6print(number of PCA features: k, K) # 降维后的特征维数主成分个数 k3print(mean:, mean.round(4)) # 均值print(topK eigenvalues:\n, eigenvalues.round(4)) # 特征值从大到小print(topK eigenvectors:\n, eigenvectors.round(4)) # (3, 6)# 压缩图像特征将输入数据按主成分特征向量投影到 PCA 特征空间mbMatPCA cv2.PCAProject(Xmat, mean, eigenvectors) # (318096, 6)-(318096, K3)# 显示主成分变换图像fig2 plt.figure(figsize(9, 6)) # 主元素图像fig2.suptitle(Principal component images)for i in range(K):pca mbMatPCA[:, i].reshape(-1, img.shape[1]) # 主元素图像 (564, 564)imgPCA cv2.normalize(pca, (height, width), 0, 255, cv2.NORM_MINMAX)ax2 fig2.add_subplot(2,3,i1)ax2.set_xticks([]), ax2.set_yticks([])ax2.imshow(imgPCA, gray) # 绘制主成分图像plt.tight_layout()# # 由主成分分析重建图像reconMat cv2.PCABackProject(mbMatPCA, mean, eigenvectors) # (318096, K3)-(318096, 6)fig3 plt.figure(figsize(9, 6)) # 重建图像6 个不同波段fig3.suptitle(Rebuild images of multi bands by OpenCV)rebuild np.zeros((height, width, nBands)) # (564, 564, 6)for i in range(nBands):rebuild reconMat[:, i].reshape(-1, img.shape[1]) # 主元素图像 (564, 564)# rebuild np.uint8(cv2.normalize(rebuild, (height, width), 0, 255, cv2.NORM_MINMAX))ax3 fig3.add_subplot(2,3,i1)ax3.set_xticks([]), ax3.set_yticks([])ax3.imshow(rebuild, gray) # 绘制光谱图像 snBands[i]plt.tight_layout()plt.show()运行结果 (564, 564, 6) (318096, 6) (1, 6) (3, 6) (3, 1) number of samples: m 318096 number of features: p 6 number of PCA features: k 3 mean: [[ 61.9724 67.5084 62.1467 146.1866 134.4214 111.4343]] topK eigenvalues: [10344.2723 2965.8884 1400.6306] topK eigenvectors: [[ 0.489 0.4777 0.4899 -0.1375 0.2188 0.4753] [-0.0124 0.0394 -0.022 0.7986 0.5981 -0.0486] [-0.2301 -0.3012 -0.315 0.0431 0.0165 0.8689]] 【本节完】 版权声明 本例程的图像来自 R.C.Gonzalez 《数字图像处理第四版》P622 例11.16。 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/125782192) Copyright 2022 youcans, XUPT Crated2022-7-15 234. 特征提取之主成分分析PCA 235. 特征提取之主成分分析sklearn 236. 特征提取之主成分分析OpenCV
http://www.lebaoying.cn/news/44064.html

相关文章:

  • 手机做推广比较好的网站郑州网站制作十年乐云seo
  • 网站关键词没排名怎么办舟山的房子做民宿上什么网站
  • 中国建设银行淮南分行网站快车app官方下载
  • .tel域名不可以做网站域名吗网站添加微信
  • 网站英语拜年图片制作
  • 大连教育培训网站建设wordpress电子商务主题 中文版
  • 生产型或服务型企业网站有哪些知名的网页制作公司欢迎咨询
  • 网站开发常用图标房屋产权地址备案在那个网站做
  • 建设婚纱摄影网站的重要性网站建设模板研究
  • 天津市中小企业局网站北京医疗网站建设公司
  • 珠海网站建设公司排名广西南宁网络营销网站
  • 做网站的大小深圳网站建设专业的公司
  • 临沂网站建设和轶件安装没网站可以做百度推广吗
  • 常德政务网站做网站时如何将前端连接到后台
  • 网站开发的检索速度在啥范围之内html5网页设计教程
  • 营销网站结构如何用域名进网站
  • 快餐网站模板宁夏城乡建设厅网站
  • ps做的网站保存不了jpg电子商务很难就业吗
  • 什么网站专门做境外当地游做网站买空间多少钱
  • 霞山手机网站建设公司网站后台修改的页面不能显示
  • wordpress导航模板下载地址安卓优化大师官网
  • 给几个网站谢谢意派h5制作平台官网
  • 贵州建设学校网站广告设计专业就业方向
  • 茂名网站建设推广网站开发的课程
  • 做网站用的小图标wordpress4.8版权修改
  • 西部数码网站管理助手 ftp网站目录管理模板下载
  • 盐城快速建设网站找哪家河南智能seo快速排名软件
  • 给女朋友做网站房产中介网站排名
  • 广告公司寮步网站建设价钱wordpress班级模板
  • 凉山州建设银行官方网站北京高端网页