kcv校验方式

	unsigned char master_key[16] = {
   0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x31
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Matlab可以用于高光谱遥感图像的pca、lda和kpca分类。PCA是一种无监督的线性降维方法,可以提取高光谱遥感图像中的最主要的分量。而LDA则是一种监督的线性降维方法,可以在降维的同时保留分类信息。KPCA则是一种非线性的降维方法。以下是基于Matlab实现高光谱遥感图像PCA、LDA、KPCA分类的代码: PCA分类 1.加载高光谱图片 img = imread('img.hdr'); 2.处理高光谱图片数据 data = double(img); 3.计算高光谱数据主成分 [coeff, score, latent] = pca(data); 4.根据主成分提取特征 features = score(:, 1:3); LDA分类 1.加载高光谱图片和对应分类标签 img = imread('img.hdr'); labels = load('labels.txt'); 2.处理高光谱图片数据 data = double(img); 3.计算类内散度矩阵和类间散度矩阵 Sw = zeros(size(data, 2), size(data, 2)); Sb = zeros(size(data, 2), size(data, 2)); for i = unique(labels)' Xi = data(labels == i, :); ni = size(Xi, 1); mi = mean(Xi, 1); Xmi = Xi - repmat(mi, ni, 1); Sw = Sw + Xmi' * Xmi; Sb = Sb + ni * (mi - mean(data, 1))' * (mi - mean(data, 1)); end 4.计算LDA投影矩阵 [V, D] = eig(Sb, Sw); [~, indices] = sort(diag(D), 'descend'); V = V(:, indices); W = V(:, 1:3); 5.将数据投影至LDA的空间 features = data * W; KPCA分类 1.加载高光谱图片 img = imread('img.hdr'); 2.处理高光谱图片数据 data = double(img); 3.使用核函数进行KPCA变换 sigma = 200; K = kernel(data, sigma); n = size(K, 1); one_n = ones(n, n) / n; Kc = K - one_n * K - K * one_n + one_n * K * one_n; [Kcv, DKcv] = eig(Kc); lambdas = diag(DKcv); [~, indices] = sort(lambdas, 'descend'); lambdas = lambdas(indices); Kcv = Kcv(:, indices); alphas = Kcv(:, 1:3) ./ sqrt(lambdas(1:3)'); 4.得到投影结果 features = K * alphas; 以上是Matlab对于高光谱遥感图像的pca、lda和kpca分类的实现过程,可以根据不同的需求选择相应的方法进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不脱发的码农~~~~

感谢各位老板的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值